Логіка титульної сторінки є однією з найбільш заплутаних особливостей WordPress і її надзвичайно важко пояснити та узагальнити. Як згадувалося в коментарі, в той час я спалював нечесну кількість часу, щоб скласти свій логічний чіт-лист на першій сторінці .
Але оскільки це популярна тема, дозвольте мені спробувати відповісти на ці дуже конкретні питання, які у вас виникли.
Яка різниця між home.php
та index.php
?
home.php
є шаблоном для індексу повідомлень (архів рідного типу "Post post", що є окремим випадком у WP). WP спробує знайти його за індексом публікацій, незалежно від того, відображаються вони в корені сайту або на спеціальній сторінці публікацій.
index.php
шаблон улов-all. Це остаточний вибір у всіх галузях ієрархії шаблонів і буде обраний, коли нічого іншого не підходить, як для архівів, так і для єдиних поглядів.
Лише індекс публікацій може використовувати 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
.