Hierarquia de modelo: confuso com index.php, front-page.php, home.php
-
-
Tem @rarst comeste: https://www.rarst.net/wordpress/front-page-logic/.Pode ajudá-lo.Got @rarst with this: https://www.rarst.net/wordpress/front-page-logic/. May help you.
- 1
- 2016-05-17
- Mayeenul Islam
-
6 respostas
- votos
-
- 2016-08-26
Lógica daprimeirapágina é uma das característicasmais confusasno WordPresse éexcepcionalmente difícil deexplicare resumir. Comomencionadono comentárioenquanto costaseu queimei quantidadeprofana detempoparamontarmeu Página dafrente Logic Cheatfolha paraisso.
Mas desde queeste é umfiopopular,deixe-metentar responder aessasperguntasmuitoespecíficas que vocêtinha.
.
Qual é a diferençaentre o
home.php
eindex.php
?home.php
é omodeloparaposts Índice (Arquivo dotipo Post Native Post,que é um casoespecialno WP). WPtentaráprocurá-lopara o índice depostagens,seeles sãoexibidosna raiz do site ounapágina deposts dedicadas.index.php
é omodelo de captura. Sãoescolhasfinaisem todos os ramos da hierarquia demodelose serãoescolhidos quandonadamais seencaixa,para arquivose visualizações singulares.Índice deposts somentepode usar
home.php
,mas Todos outros contextospodeme usarãoindex.php
..
Qual é a condiçãoidealpara usar um
home.php
do que umindex.php
Você usa
home.php
parapersonalizar o índice deposts.Você usa
index.php
parafornecer omodelomaisgenéricoem seutema,adequadoparaexibição de qualquer coisa.Algunstemas optamporter vazio
index.php
e garantir queelestêmmodelosmaisespecíficosparatodos os casospossíveis,porissonunca deve ser usado..
Qual é a condiçãoidealpara usar umfront-page.php
.
front-page.php
é usadopara o índice depostagensnaprimeirapágina raiz ouestática,se ativado.É ummodelo de altaprioridade,porisso,se otemanãopuder selecionarmodelo arbitráriopara aprimeirapáginaestática. Poresta razão,quasenunca éincluídoem temas divulgadospublicamente (queestá correto).
Omelhor usoparaeleestáem projetosprivados,já que émaisfácil configurar do que omodelo depágina.
.
Quandoestou usando um
front-page.php
,em seguida,qualtarefaespecífica umindex.php
estáfazendoparamim então?index.php
é ainda uma capturatodomodeloparatodos os outros casos.Se você usar apáginainicialestática (para qual
front-page.php
será aplicado),então suapágina depostagenstentará usarhome.php
e,em seguida,index.php
.Front page logic is one of the most confusing features in WordPress and is exceptionally hard to explain and summarize. As mentioned in comment while back I burnt unholy amount of time to put together my front page logic cheat sheet for it.
But since this is a popular thread let me try to answer those very specific questions you had.
What's the difference between the
home.php
andindex.php
?home.php
is template for posts index (archive of native Post post type, which is a special case in WP). WP will attempt to look it up for index of posts, whether they are displayed at the root of the site or at dedicated posts page.index.php
is catch–all template. It is final choices in all branches of template hierarchy and will be picked when nothing else fits, for both archives and singular views.Only posts index can use
home.php
, but all other contexts might and will useindex.php
.What's the ideal condition to use a
home.php
than anindex.php
You use
home.php
to customize posts index.You use
index.php
to provide the most generic template in your theme, suitable for display of anything.Some themes choose to have empty
index.php
and ensure they have more specific templates for all possible cases, so it never has to be used.What's the ideal condition to use a
front-page.php
?front-page.php
is used for posts index at the root or static front page, if enabled.It is a high priority template, so if theme has it you cannot select arbitrary template for static front page. For this reason it is almost never included in publicly released themes (which is correct).
The best use for it is in private projects, since it's easier to configure than page template.
When I'm using a
front-page.php
then what specific task anindex.php
is doing for me then?index.php
is still a catch all template for all other cases.If you use static front page (to which
front-page.php
will apply) then your posts page will try to usehome.php
and thenindex.php
. -
- 2013-08-16
O arquivo
.front-page.php
é apáginafrontal site . Ele sempre será usadonaprimeirapágina do seu site,independentemente deget_option ('show_on_front')
é definido comopágina
ouposts
.O arquivo
home.php
modelo é o índice postagensblog . Será sempre usadoparaexibir o índice demensagens doblog,independentemente de o índice depostagens doblogforexibidonaprimeirapágina do site ouem umapágina diferente.No caso de ambos
front-page.php
ehome.hpp
existe,e oget_option ('show_on_front')
é definido ParaPostagens
(ou seja,aprimeirapágina do siteexibe o índice deposts doblog),o arquivofront-page.php
teráprecedência sobre ohome.php
Arquivo.O arquivo
index.php
é omodelo defallbackpadrão paratodos os contextosno Hierarquia demodelo . É usado apenas se um arquivo demodelomaisespecíficonãoexistirpara o contexto atual.A hierarquia demodelopara aprimeirapáginainicial é:
-
front-page.php
- se
'página'==get_option ('show_on_front')
:página hierarquia - se
'posts'==get_option ('show_on_front')
:blogposts Índice hierarquia
A hierarquia demodelopara o índice postsblog é:
-
home.php
-
index.php
A hierarquia demodelopara páginas é:
- modelo depáginapersonalizado
-
página- {slug} .php
-
página- {id} .php
-
page.php
-
index.php
The
front-page.php
file is the site front page template. It will always be used on your site front page, regardless of whetherget_option( 'show_on_front' )
is set topage
orposts
.The
home.php
template file is the blog posts index template. It will always be used to display your blog posts index, regardless of whether the blog posts index is displayed on the site front page, or on a different page.In the case that both
front-page.php
andhome.hpp
exist, and theget_option( 'show_on_front' )
is set toposts
(i.e., the site front page displays the blog posts index), thefront-page.php
file will take precedence over thehome.php
file.The
index.php
file is the default fallback template for all contexts in the Template Hierarchy. It is only ever used if a more-specific template file does not exist for the current context.The template hierarchy for the site front page is:
front-page.php
- If
'page' == get_option( 'show_on_front' )
: page hierarchy - If
'posts' == get_option( 'show_on_front' )
: blog posts index hierarchy
The template hierarchy for the blog posts index is:
home.php
index.php
The template hierarchy for pages is:
- Custom page template
page-{slug}.php
page-{id}.php
page.php
index.php
-
Então,seeuestiver recebendoisso,não épossível usar omodelo `My-Template-1` quando aprimeirapágina é definidaparapostsmais recentese usar`my-template-2` quando afrenteestá definidapara umapáginaestática(sem codificação)?So, if i'm getting this right, it's not possible to use `my-template-1` template when the front page is set to latest posts and use `my-template-2` when the front is set to an static page (without coding) ?
- 0
- 2017-05-30
- Jack Johansson
-
- 2013-08-16
Tudoisso vem de uma leitura completa do hierarquia demodelo .
home.php
é usado se:- Aprimeirapágina do seu siteestá configuradaparaexibir uma lista deposts,ou
- Umaprimeirapáginaestática é definida e
- Um visitante vaipara apágina que você definiu como sua "lista depostagens" (porexemplo,
http://example.com/blog/
)
- e otematem um arquivo
home.php
Se a última condiçãonãofor cumprida - ou seja,não há
.home.php
arquivonotema -entãoindex.php
será carregado.front-page.php
será usado se:- Umaprimeirapáginaestática é definida e
- Um visitante vaipara apágina que você definiu como sua "homepageestática" (ou seja,
http://example.com/
),e - otematem um
front-page.php
arquivo
Se a última condiçãonãofor cumprida,ou seja,não há
front-page.php
arquivonotema -entãoindex.php
será carregado .Em resumo
Se você quiserpersonalizar sua lista deposts,use
home.php
.
Se você quiserpersonalizar suapáginainicialestática,usefront-page.php
.All this comes from a thorough reading of the Template Hierarchy.
home.php
is used if:- Your site's front page is set to display a list of posts, or
- A static front page is set, and
- A visitor goes to the page that you've defined as your "list of posts" (eg,
http://example.com/blog/
)
- And the theme has a
home.php
file
If the last condition isn't met -- ie, there is no
home.php
file in the theme -- thenindex.php
will be loaded.front-page.php
will be used if:- A static front page is set, and
- A visitor goes to the page that you've defined as your "static home page" (ie,
http://example.com/
), and - The theme has a
front-page.php
file
If the last condition isn't met -- ie, there is no
front-page.php
file in the theme -- thenindex.php
will be loaded.In summary
If you want to customize your list of posts, use
home.php
.
If you want to customize your static home page, usefront-page.php
.-
`Home.php` será usadopara o índice deposts deblog,independentemente da localização.Se aprimeirapáginaestiver definidaparaexibir o índice depostagens doblog,"home.php" será usado (se aprimeirapágina.Php.fp`nãoexistir).`home.php` will be used for the blog posts index, regardless of location. If the front page is set to display the blog posts index, then `home.php` will be used (if `front-page.php` does not exist).
- 2
- 2013-08-16
- Chip Bennett
-
- 2013-08-21
Em suma:
-
index.php
é apenas ummodelo defallback,casonenhummodelo apropriadofoiencontrado -
home.php
é usadopara oblog (uma listagem deposts recentes) -
front-page.php
é usadopara apágina de destino
omodelo universal
index.php
modeloO arquivo
index.php
modelo é ummodelo defallback. É usado como último recurso quandonenhum outromodelomais apropriadoestá disponível. Porexemplo,se vocênãotiver umfront-page.php
nem umhome.php
entãoindex.php
será usado. Issotambém é verdadeiropara ausenteArchive.php
ousingle.php
e assimpor diante.sobre
front-page.php
vshome.php
Agora a diferençaentre
front-page.php
emodelos é que ofront-page.php
é usado,como Seunome sugere,como afrenteprincipal do site,enquanto
home.php
pretende ser a casa do blog .Qualmodelo será usadopara apágina de destino domeu site?
omodelo
.front.php
,sepresente,será usadopara aprimeirapáginaprincipal do site (porexemplo,http://www.example.com/
) . Senãoestiverpresente,entãohome.php
será usadoem vez disso. Se ambos os arquivos demodelização de home.php estãofaltando,em seguida,omodeloindex.php
será usado.Qualmodelo será usadoparaminhapágina deblog?
WordPresspermite que vocêtenha umapágina "blog" (que listaráposts recentes)em umapágina diferente do que apágina de destino (porexemplo,
http://www.example.com/blog/
). Portanto,seestefor o casoem seu site,apágina doblog sempre usará omodelohome.php
. Sehome.php
nãoexiste,omodeloindex.php
será usado.Como configurar apágina depousoe blog?
Para configurar o conteúdoparamostrarem suaprimeirapágina,vápara o wordpress admin ,em ferramentas> Leitura ,vocêpode configurar aprimeirapágina " Exibe "paramostrar umapáginaestática ou suaspostagensmais recentes.
No caso de você optarporexibir umapáginaestáticanaprimeirapágina,vocêtambémtem apossibilidade de definir qualpágina usar como umespaço reservadopara apágina doblog (que usará o
home.php
Modelo):In short:
index.php
is a fallback template only, in case no appropriate template was foundhome.php
is used for the blog (a listing of recent posts)front-page.php
is used for the landing-page
The universal
index.php
templateThe
index.php
template file is a fallback template. It is used as a last resort when no other more appropriate template is available. For example, if you don't have afront-page.php
nor ahome.php
thenindex.php
will be used. This is also true for missingarchive.php
orsingle.php
and so on.Regarding
front-page.php
VShome.php
Now the difference between
front-page.php
andhome.php
templates is that thefront-page.php
is used, as its name suggests, as the main front-page of the site, whilehome.php
is intended to be the home of the Blog section.What template will be used for my site's landing-page?
The
front-page.php
template, if present, will be used for the site's main front page (e.g.http://www.example.com/
). If not present, thenhome.php
will be used instead. If both thefront-page.php
andhome.php
template files are missing then theindex.php
fallback template will be used.What template will be used for my blog page?
WordPress allows you to have a "Blog" page (which will list recent posts) on a different page than the landing-page (e.g.
http://www.example.com/blog/
). So if this is the case on your site, then the Blog page will always use thehome.php
template. Ifhome.php
doesn't exist then theindex.php
fallback template will be used.How to configure the landing-page and blog page?
To configure what content to show on your front page, go to the WordPress Admin, under Tools > Reading, there you can configure the "Front page displays" to show a static page, or your latest posts.
In the case you choose to display a static page on the front page, then you also have the possibility to set which page to use as a placeholder for the Blog page (which will use the
home.php
template): -
- 2015-11-07
retirado de Hierarquia demodelo WordPress
.
homepage display
Porpadrão,o WordPress define apáginainicial do seu siteparaexibir o seu Últimaspostesnoblog. Estapágina é chamada de índice depostagens doblog. Vocêpode Também defina suaspostagens deblogparaexibirem umapáginaestática separada. O arquivo demodelo home.php é usadopara renderizar o índice depostagens doblog,seja Está sendo usado como aprimeirapágina ounapáginaestática separada. Se home.phpnãoexiste,o WordPress usaráindex.php.
- .
- home.php
- index.php
.
Nota: seexistirfront-page.php,ele substituirá omodelo home.php.
exibição daprimeirapágina
O arquivo demodelofront-page.php é usadopara renderizar afrente do seu site página,se aprimeirapáginaexibe o índice depostagens doblog (mencionado acima) ou umapáginaestática. Omodelo deprimeirapáginatem precedência sobre Omodelo deposts deblogs (home.php). Se o arquivofront-page.php nãoexiste,o WordPress usará o home.php oupage.php arquivos dependendo da configuraçãonas configurações → Leitura. Senenhum de. Esses arquivosexistem,ele usará o arquivoindex.php.
1.front-page.php - usadopara ambos "seus últimosposts" ou "umapáginaestática" como definidonaprimeirapágina Exibe a seção das configurações → Leitura.
2. home.php - se o WordPressnãopuderencontrarfront-page.phpe "seumais recente posts "é definidona seção deexibições daprimeirapágina,eleprocurará home.php. Além disso,o WordPressprocuraráeste arquivo quando o Posts Page é definidonapágina daprimeirapágina.
3.página.php - quando "Páginainicial" é definidanapágina daprimeirapágina.
4.index.php - Quando "suaspostagensmais recentes"estiver definidanapágina daprimeirapágina,mas home.phpnãoexiste ou quando aprimeirapágina é definida,mas apágina.phpfaz nãoexiste.
Como vocêpode ver,hámuitas regraspara o caminho Wordpress leva. Usando ográfico acima é amelhormaneira de determinar O que o WordPressexibirá.
taken from Wordpress template hierarchy
Home Page display
By default, WordPress sets your site’s home page to display your latest blog posts. This page is called the blog posts index. You can also set your blog posts to display on a separate static page. The template file home.php is used to render the blog posts index, whether it is being used as the front page or on separate static page. If home.php does not exist, WordPress will use index.php.
- home.php
- index.php
Note: If front-page.php exists, it will override the home.php template.
Front Page display
The front-page.php template file is used to render your site’s front page, whether the front page displays the blog posts index (mentioned above) or a static page. The front page template takes precedence over the blog posts index (home.php) template. If the front-page.php file does not exist, WordPress will either use the home.php or page.php files depending on the setup in Settings → Reading. If neither of those files exist, it will use the index.php file.
1. front-page.php – Used for both “your latest posts” or “a static page” as set in the front page displays section of Settings → Reading.
2. home.php – If WordPress cannot find front-page.php and “your latest posts” is set in the front page displays section, it will look for home.php. Additionally, WordPress will look for this file when the posts page is set in the front page displays section.
3. page.php – When “front page” is set in the front page displays section.
4. index.php – When “your latest posts” is set in the front page displays section but home.php does not exist or when front page is set but page.php does not exist.
As you can see, there are a lot of rules to what path WordPress takes. Using the chart above is the best way to determine what WordPress will display.
-
- 2017-04-25
Eu deciditestar qualmodelo é usadopara cada uma daspáginas a seguir quando aprimeirapágina dafrenteexibe opções são definidas.
- exemplo.net
- exemplo.net/home/
- exemplo.net/blog/
Os resultados sãobastante longos,maspodem ser usados como uma referência oufraude.
Fonte: Como osmodelos defront-page.phpe home.php diferemno WordPress?
Notaparaeditor: Eutentei copiare colar astabelas aqui,mas oformato demarcação énecessárioem vez de HTML.Porfavor,convertaparamarcar sepuder.
I decided to test which template is used for each of the following pages when the various Front page displays options are set.
- example.net
- example.net/home/
- example.net/blog/
The results are quite long, but can be used as a reference or cheat-sheet.
Source: How do the front-page.php and home.php templates differ in WordPress?
Note to editor: I tried to copy and paste the tables here but markdown format is required instead of HTML. Please convert to markdown if you can.
Estou realmente confuso com
index.php
,home.php
efront-page.php
.Emmuitos casos,emboraeutivesse umindex.php
,eu o sobrescrego comfront-page.php
.Mas recentemente,percebi-me sobrehome.php
.home.php
eindex.php
?home.php
do que umindex.php
?front-page.php
?front-page.php
,em seguida,qualtarefaespecífica umindex.php
estáfazendoparamim então?Eu li o hierarquia demodelo no Codex.Porfavor,nãomistureminhapergunta commodelos depágina,euentendoeles,Alhamdulillah.