Статическая главная страница
Оригинальное название: static front page
Коротко
Обычная страница WordPress, назначенная показываться по адресу главной вместо ленты последних записей. При этом блог можно вынести на отдельную страницу.
Что такое «Статическая главная страница»
Изначально WordPress был движком блогов, и по умолчанию на главной выводится лента свежих записей. Сайту компании, лендингу или интернет-магазину нужна другая главная — с описанием услуг, преимуществами, формой заявки. Для этого в настройках чтения переключают режим «Ваша главная страница отображает» на статическую страницу и выбирают, какую страницу показывать. Там же указывают страницу для записей, если блог на сайте нужен.
Как это хранится и какие шаблоны работают
Выбор сохраняется в трёх опциях: show_on_front со значением page, page_on_front с ID главной и page_for_posts с ID страницы блога. Через WP-CLI то же самое делается так:
wp option update show_on_front page
wp option update page_on_front 12
wp option update page_for_posts 34
По иерархии шаблонов главную в классической теме рисует front-page.php, если он есть, а страницу блога — home.php. Отсюда частая путаница в коде: is_front_page() истинно на главной, а is_home() — на странице со списком записей, даже если она живёт по адресу /blog/.
Подводные камни
- Текст, написанный в редакторе на странице блога, не выводится: WordPress показывает там список записей, а не содержимое страницы.
- Выбранная главная остаётся доступной и по своему адресу, например
/glavnaya/. Ядро обычно перенаправляет такой запрос на корень, но SEO-плагины и кэш иногда ломают это поведение, и появляется дубль. - Тема с жёстко прописанным
front-page.phpигнорирует выбранную страницу целиком: правки в редакторе не видны, пока не изменить сам шаблон. - После удаления страницы-главной опция продолжает ссылаться на несуществующий ID, и сайт показывает пустую главную.
Статическая главная — стандартное решение при создании сайта на WordPress для компании: она даёт полностью свободную посадочную страницу, а блог работает отдельно.

