Одной из ключевых функций WordPress является возможность настроить статическую главную страницу через админ-панель сайта. Однако, как показала практика, не все темы поддерживают эту функцию корректно, и шаблон Terminal Blog — один из таких примеров. Несмотря на наличие опции для установки статической страницы в настройках, на практике при её выборе на главной странице отображаются только шапка и подвал, а сам контент страницы отсутствует.
Эта проблема встречается не только у отдельных пользователей, но и у множества других, о чём свидетельствуют многочисленные обсуждения на форумах и в сообществах WordPress. В этой статье мы рассмотрим, как решить данную проблему и подключить статическую страницу вручную, используя PHP-код.
Шаг 1: Проблема с отображением контента
Основная проблема заключается в том, что шаблон Terminal Blog не включает логику для вывода контента статической страницы в файле front-page.php
. По умолчанию, этот файл используется для отображения главной страницы сайта, однако в его коде отсутствует механизм для вызова контента статической страницы.
Когда вы пытаетесь настроить статическую главную страницу через настройки WordPress, шапка и подвал отображаются корректно, но основная часть страницы, которая должна содержать текст и элементы, создаваемые через редактор страниц WordPress, не загружается.
Шаг 2: Решение проблемы
Для того чтобы правильно подключить контент статической страницы в шаблон Terminal Blog, необходимо вручную внести изменения в файл front-page.php
. Вот финальный рабочий код, который вы можете использовать для корректного отображения контента:
/**
* The front page template file
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package Terminal Blog
*/
get_header();
// Call home.php if Homepage setting is set to latest posts.
if ( terminal_blog_is_latest_posts() ) {
require get_home_template();
} elseif ( terminal_blog_is_frontpage() ) {
// Проверяем, установлена ли статическая главная страница
if ( have_posts() ) :
while ( have_posts() ) : the_post();
<!— Начало обёртки с классами из header.php —>
<div class=»theme—wrapper«>
<div class=»site—content theme—wrap«>
<div class=»page—content«>
<h1><?php the_title(); ?></h1>
<div><?php the_content(); ?></div>
</div>
</div>
</div>
<!— Конец обёртки —>
<?php endwhile;
else :
echo ‘<p>Контент не найден.</p>’;
endif;
}
get_footer();
Шаг 3: Что было изменено
Чтобы контент статической страницы отображался корректно, мы добавили несколько важных элементов в файл front-page.php
:
- Добавлена обёртка с классами
.theme-wrapper
и.site-content theme-wrap
. Эти классы уже используются в шаблоне для обёртки шапки сайта, и их применение к контенту позволяет обеспечить одинаковую ширину и стили для всей страницы, включая контент, шапку и подвал.В файлеheader.php
шапка обёрнута в класс.theme-wrapper
, что обеспечивает ей нужное форматирование и ограничивает ширину. Добавив этот класс в файлfront-page.php
, мы добились того, чтобы контент страницы имел ту же ширину, что и шапка, устранив проблему с некорректным выравниванием. - Использование стандартных функций WordPress: Мы добавили проверку на наличие статической страницы с помощью функции
have_posts()
, а также вызов контента страницы черезthe_content()
. Это стандартный метод вывода контента в WordPress, который позволяет отобразить всё содержимое статической страницы, созданной в админ-панели.В результате этих изменений контент страницы будет выводиться корректно, следуя за шапкой и подвалом, как это должно быть при использовании статической страницы. - Улучшенная совместимость с динамическими страницами: Мы также сохранили оригинальный функционал шаблона, который использует
home.php
для отображения последних записей, если в настройках указано показывать последние публикации вместо статической страницы. Таким образом, код остаётся гибким и подходит для любых настроек главной страницы.
Шаг 4: Проверка и тестирование
После внесения изменений в файл front-page.php
необходимо сохранить его и загрузить на сервер. Затем проверьте сайт, чтобы убедиться, что статическая главная страница отображается корректно. Теперь контент страницы будет выводиться с правильным форматированием и шириной, совпадающей с шапкой и подвалом.