Я действительно смущен index.php
, home.php
и front-page.php
. Во многих случаях, даже если у меня есть index.php
, я перезаписываю его front-page.php
. Но недавно я узнал о home.php
.
- Какая разница между
home.php
иindex.php
? - Какое идеальное условие для использования,
home.php
чемindex.php
? - Какое идеальное условие для использования
front-page.php
? - Когда я использую
front-page.php
то, что конкретное заданиеindex.php
делает для меня тогда?
Я прочитал иерархию шаблонов в Кодексе. Пожалуйста, не смешивайте мой вопрос с шаблонами страниц, я понимаю их, alHamduLILLAH.
template-hierarchy
Mayeenul Ислам
источник
источник
Ответы:
Логика главной страницы - одна из самых запутанных функций в WordPress, и ее чрезвычайно сложно объяснить и обобщить. Как упомянуто в комментарии, когда я возвращался, я потратил нечестивое количество времени, чтобы собрать для этого свою шпаргалку логики на первой странице .
Но так как это популярная тема, позвольте мне ответить на эти очень конкретные вопросы, которые у вас были.
home.php
является шаблоном для индекса сообщений (архив с собственным типом записей Post, который является частным случаем в WP). WP попытается найти индекс сообщений, независимо от того, отображаются ли они в корне сайта или на отдельной странице сообщений.index.php
это ловить - весь шаблон. Это окончательный выбор во всех ветвях иерархии шаблонов, и он будет выбран, когда ничего не подходит, как для архивов, так и для единичных представлений.Можно использовать только индекс сообщений
home.php
, но все остальные контексты могут и будут использоватьindex.php
.Вы используете
home.php
для настройки индекса сообщений.Вы используете,
index.php
чтобы предоставить наиболее общий шаблон в вашей теме, подходящий для отображения чего угодно.Некоторые темы выбирают пустые
index.php
и обеспечивают более конкретные шаблоны для всех возможных случаев, поэтому их никогда не нужно использовать.front-page.php
используется для индексирования сообщений на корневой или статической главной странице, если включено.Это шаблон с высоким приоритетом, поэтому, если у него есть тема, вы не можете выбрать произвольный шаблон для статической главной страницы. По этой причине он почти никогда не включается в общедоступные темы (что правильно).
Лучше всего его использовать в частных проектах, так как его легче настроить, чем шаблон страницы.
index.php
по- прежнему является универсальным шаблоном для всех остальных случаев.Если вы используете статическую титульную страницу (к которой
front-page.php
будет применяться), то ваша страница постов будет пытаться использовать,home.php
а затемindex.php
.источник
front-page.php
Файл является сайтом первой страницы шаблона. Он всегда будет использоваться на главной странице вашего сайта, независимо от тогоget_option( 'show_on_front' )
, установлен онpage
илиposts
.home.php
Файл шаблона является блог сообщений индекса шаблона. Он всегда будет использоваться для отображения индекса сообщений в блоге, независимо от того, отображается ли индекс сообщений в блоге на главной странице сайта или на другой странице.В случае, когда
front-page.php
иhome.hpp
существует, и дляget_option( 'show_on_front' )
него установлено значениеposts
(т. Е. На первой странице сайта отображается индекс сообщений блога),front-page.php
файл будет иметь приоритет надhome.php
файлом.Этот
index.php
файл является шаблоном по умолчанию для всех контекстов в иерархии шаблонов . Он используется только в том случае, если для текущего контекста не существует более конкретного файла шаблона.Иерархия шаблонов для главной страницы сайта :
front-page.php
'page' == get_option( 'show_on_front' )
: иерархия страниц'posts' == get_option( 'show_on_front' )
: иерархия индексирования постов в блогеИерархия шаблонов для индекса блога :
home.php
index.php
Иерархия шаблонов для страниц :
page-{slug}.php
page-{id}.php
page.php
index.php
источник
my-template-1
шаблон, когда на первой странице установлены последние сообщения, и использовать,my-template-2
когда на передней стороне установлена статическая страница (без кодирования)?Все это происходит из тщательного прочтения иерархии шаблонов .
home.php
используется, если:http://example.com/blog/
)home.php
файлЕсли последнее условие не выполнено, т.
home.php
Е. В теме нет файла, то оноindex.php
будет загружено.front-page.php
будет использоваться, если:http://example.com/
), иfront-page.php
файлЕсли последнее условие не выполнено, т.
front-page.php
Е. В теме нет файла, то оноindex.php
будет загружено.В итоге
Если вы хотите настроить свой список сообщений, используйте
home.php
.Если вы хотите настроить статическую домашнюю страницу, используйте
front-page.php
.источник
home.php
будет использоваться для индекса блога, независимо от местоположения. Если на главной странице задано отображение индекса сообщений в блоге, тоhome.php
будет использоваться (еслиfront-page.php
он не существует).Короче:
index.php
является резервным шаблоном, только если соответствующий шаблон не найденhome.php
используется для блога (список последних сообщений)front-page.php
используется для целевой страницыУниверсальный
index.php
шаблонindex.php
Файл шаблон представляет собой шаблон запасного варианта. Он используется в качестве крайней меры, когда другой более подходящий шаблон недоступен. Например, если у вас нетfront-page.php
ни того,home.php
тоindex.php
будет использоваться. Это также верно для пропавших без вестиarchive.php
илиsingle.php
и так далее.относительно
front-page.php
VShome.php
Теперь разница между
front-page.php
иhome.php
шаблонов является то , чтоfront-page.php
используется, как предполагает его название, как основной передней странице сайта, в то время какhome.php
предполагается, является домом блога раздела.Какой шаблон будет использоваться для целевой страницы моего сайта?
front-page.php
Шаблон, если он присутствует, будет использоваться для главной главной страницы сайта (напримерhttp://www.example.com/
). Если нет, тоhome.php
будет использоваться вместо. Если оба файлаfront-page.php
иhome.php
шаблон отсутствуют, тоindex.php
будет использован запасной шаблон.Какой шаблон будет использоваться для моей страницы блога?
WordPress позволяет вам иметь страницу «Блог» (в которой будут перечислены последние сообщения) на странице, отличной от целевой страницы (например
http://www.example.com/blog/
). Так что, если это так на вашем сайте, то страница блога всегда будет использоватьhome.php
шаблон. Еслиhome.php
не существует,index.php
будет использован запасной шаблон.Как настроить целевую страницу и страницу блога?
Чтобы настроить, какой контент показывать на первой странице, перейдите к WordPress Admin , в разделе « Инструменты»> «Чтение» вы можете настроить « Отображение передней страницы » для отображения статической страницы или ваших последних сообщений.
В случае, если вы решите отображать статическую страницу на первой странице, у вас также есть возможность указать, какую страницу использовать в качестве заполнителя для страницы блога (которая будет использовать
home.php
шаблон):источник
взяты из иерархии шаблонов Wordpress
Шаблон иерархической диаграммы:
источник
Я решил проверить, какой шаблон используется для каждой из следующих страниц, когда установлены различные параметры отображения на передней странице.
Результаты довольно длинные, но могут использоваться как справочная или шпаргалка.
Источник: Чем отличаются шаблоны front-page.php и home.php в WordPress?
Примечание для редактора: я попытался скопировать и вставить таблицы здесь, но вместо HTML требуется формат уценки. Пожалуйста, конвертируйте в уценку, если можете.
источник