Логика главной страницы - одна из самых запутанных функций в WordPress, и ее чрезвычайно сложно объяснить и обобщить. Как упомянуто в комментарии, когда я возвращался, я потратил нечестивое количество времени, чтобы собрать для этого свою шпаргалку логики на первой странице .
Но так как это популярная тема, позвольте мне ответить на эти очень конкретные вопросы, которые у вас были.
Какая разница между home.php
и index.php
?
home.php
является шаблоном для индекса сообщений (архив с собственным типом записей Post, который является частным случаем в WP). WP попытается найти индекс сообщений, независимо от того, отображаются ли они в корне сайта или на отдельной странице сообщений.
index.php
это ловить - весь шаблон. Это окончательный выбор во всех ветвях иерархии шаблонов, и он будет выбран, когда ничего не подходит, как для архивов, так и для единичных представлений.
Можно использовать только индекс сообщений home.php
, но все остальные контексты могут и будут использовать index.php
.
Какое идеальное условие для использования, home.php
чемindex.php
Вы используете home.php
для настройки индекса сообщений.
Вы используете, index.php
чтобы предоставить наиболее общий шаблон в вашей теме, подходящий для отображения чего угодно.
Некоторые темы выбирают пустые index.php
и обеспечивают более конкретные шаблоны для всех возможных случаев, поэтому их никогда не нужно использовать.
Какое идеальное условие для использования front-page.php
?
front-page.php
используется для индексирования сообщений на корневой или статической главной странице, если включено.
Это шаблон с высоким приоритетом, поэтому, если у него есть тема, вы не можете выбрать произвольный шаблон для статической главной страницы. По этой причине он почти никогда не включается в общедоступные темы (что правильно).
Лучше всего его использовать в частных проектах, так как его легче настроить, чем шаблон страницы.
Когда я использую front-page.php
то, что конкретное задание index.php
делает для меня тогда?
index.php
по- прежнему является универсальным шаблоном для всех остальных случаев.
Если вы используете статическую титульную страницу (к которой front-page.php
будет применяться), то ваша страница постов будет пытаться использовать, home.php
а затем index.php
.