В чем разница между home.php и index.php?
Если я создаю файл home.php, похоже, что WordPress будет использовать его вместо index.php, и index.php никогда не используется?
Каковы различия между этими двумя файлами шаблонов (находящимися в папке темы)? Они ведут себя одинаково, и единственная разница заключается в приоритете home.php?

index.php
- это универсальный шаблон, который будет использоваться для любой страницы (главная, архив, отдельная запись и т.д.), если для нее не доступен другой шаблон.home.php
- это шаблон, используемый для главной страницы (при выполнении условияis_home()
).
Подробную схему применения шаблонов смотрите в Иерархии шаблонов.

home.php
— это шаблон, который ваш сайт будет использовать для страницы, установленной в качестве "Страницы записей" в настройках чтения админ-панели WordPress (wp-admin). Если вы установите статическую страницу в качестве главной, то для её особого оформления следует использовать шаблон front-page.php
.

Имейте в виду, что использование home.php вместо index.php в качестве главной страницы не позволит создать обычную страницу с постами из всех категорий в вашем блоге. Другими словами, не будет простого способа получить доступ к index.php, если вы используете home.php.

Можешь объяснить это? Обычно все категории прекрасно отображаются в home.php
. Шаблон выбирается уже после того, как запрос к базе данных был выполнен.

Да, но если попытаться реализовать такую структуру сайта: 1. Главная -> home.php / 2. Новости -> index.php / 3. Категория записей 1 -> category.php ... тогда не будет способа показать записи из всех категорий (роль, которую выполняет index.php), кроме как через создание статичной страницы, отдельного шаблона для неё и получения записей через отдельный запрос в этом шаблоне. Если попытаться сделать прямую ссылку на index.php, она очевидно перенаправит нас на страницу, заданную home.php, потому что она теперь установлена как главная страница блога.

home.php
— это шаблон для отображения последних записей блога из всех категорий.

Это резервный файл на случай, если отсутствует любой другой файл. Единственный файл, который не перехватывается этим резервным вариантом, это comments.php
.

Конечно, это верно. Я говорю о реальной ситуации, когда мы можем захотеть создать индивидуальный шаблон для главной страницы, используя home.php, и страницу для отображения всех записей, где в этом случае использование index.php невозможно — потому что index.php перенаправляет на home.php и таким образом становится невидимым.
