Функция is_front_page()
в WordPress используется для проверки того, отображается ли текущая страница как главная страница сайта. Эта функция возвращает true
, если текущая страница является главной, и false
в противном случае.
is_front_page();
Описание функции
Функция проверяет, отображается ли главная (домашняя) страница сайта, будь то страница с выводом последних постов или статическая страница, установленная как главная. В любом из этих случаев тег is_front_page()
сработает корректно.
Когда для главной страницы установлена статическая страница, функция is_home()
больше не работает для главной страницы. Вместо этого используются is_front_page()
, is_singular()
, и is_page()
.
В настройках сайта (Параметры > Чтение > На главной странице отображать
) можно установить статическую страницу для главной и отдельную статическую страницу для вывода последних постов. В этом случае, is_front_page()
всегда будет работать для главной страницы сайта, тогда как is_home()
будет срабатывать только для страницы с выводом последних постов. Функция также срабатывает на страницах пагинации, таких как /page/2
, которые будут считаться частью главной страницы.
Пример 1: Простая проверка в теме
Один из наиболее распространенных способов использования is_front_page()
заключается в условной загрузке различного контента или стилей на главной странице сайта. Рассмотрим следующий пример, где проверяется, является ли текущая страница главной, и в зависимости от результата отображается определенный текст:
if ( is_front_page() ) {
echo 'Добро пожаловать на главную страницу нашего сайта!';
} else {
echo 'Это не главная страница.';
}
Пример 2: Условная загрузка стилей
В этом примере мы загружаем определенные стили только на главной странице:
function genius_custom_styles() {
if ( is_front_page() ) {
wp_enqueue_style( 'front-page-styles', get_template_directory_uri() . '/css/front-page.css' );
}
}
add_action( 'wp_enqueue_scripts', 'genius_custom_styles' );
Пример 3: Изменение заголовка страницы
Иногда может потребоваться изменить заголовок страницы в зависимости от того, является ли текущая страница главной. В следующем примере мы добавляем фильтр для изменения заголовка страницы:
function genius_custom_title( $title, $sep ) {
if ( is_front_page() ) {
$title = 'Главная страница' . " $sep " . get_bloginfo( 'name' );
}
return $title;
}
add_filter( 'wp_title', 'genius_custom_title', 10, 2 );
Опции «главной страницы» и «страницы записей»
Вы можете получить ID страниц, установленных для главной страницы и страницы вывода постов (скриншот выше), с помощью следующих функций:
// ID постоянной страницы, которая указана как главная страница сайта
$page_on_front = get_option('page_on_front');
// ID постоянной страницы, которая указана как страница блога (последних записей сайта)
$page_for_posts = get_option('page_for_posts');
Заключение
Функция is_front_page()
является полезным инструментом для создания динамического контента и управления поведением вашего сайта на главной странице. С ее помощью можно условно отображать различные элементы, изменять стили и заголовки. Используйте приведенные примеры в своих проектах для создания уникального пользовательского опыта.