В чем разница между home.php и index.php?

5 окт. 2010 г., 19:03:17
Просмотры: 15.5K
Голосов: 16

Если я создаю файл home.php, похоже, что WordPress будет использовать его вместо index.php, и index.php никогда не используется?

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

0
Все ответы на вопрос 3
0
18
  • index.php - это универсальный шаблон, который будет использоваться для любой страницы (главная, архив, отдельная запись и т.д.), если для нее не доступен другой шаблон.

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

Подробную схему применения шаблонов смотрите в Иерархии шаблонов.

5 окт. 2010 г. 19:13:05
0

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

5 окт. 2010 г. 21:10:24
6

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

5 февр. 2013 г. 17:54:10
Комментарии

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

fuxia fuxia
5 февр. 2013 г. 18:48:08

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

certainlyakey certainlyakey
5 февр. 2013 г. 20:26:21

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

fuxia fuxia
5 февр. 2013 г. 20:39:33

Для чего тогда нужен index.php?

certainlyakey certainlyakey
6 февр. 2013 г. 00:48:32

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

fuxia fuxia
6 февр. 2013 г. 01:25:35

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

certainlyakey certainlyakey
6 февр. 2013 г. 10:21:59
Показать остальные 1 комментариев