Логика главной страницы - одна из самых запутанных функций в 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.