По умолчанию главная страница блога на WordPress - это страница, на которой показаны последние опубликованные записи (или их анонсы). Но страницу записей можно сделать не основной и назвать, например, "Последние записи" или "Блог", и назначить главную страницу с другим, возможно, статическим содержимым. В этой статье:
Создание статической главной страницы
Изменение темы
Программный выбор главной страницы
is_home() и is_front_page()
Содержание
Создание статической главной страницы
В качестве главной страницы можно использовать одну из постоянных страниц:
На административной панели WordPress создайте, по крайней мере, две страницы (Страницы>Добавить новую).
1. Главная страница
Задайте для одной страницы заголовок, который вы хотите использовать для главной страницы, например,"Главная", введите содержимое страницы и опубликуйте ее.
*** Для этой страницы можно создать отдельный пользовательский шаблон, имя которого должно отличаться от home.php, т.к. в противном случае это может вызвать конфликт.
2. Страница записей
Вторую страницу назовите"Блог" (или "Новости", "Статьи") и опубликуйте. На этой странице будут показаны записи (анонсы) блога, поэтому не нужно добавлять на нее содержимое (оно игнорируется) и использовать для нее пользовательский шаблон.
3. Настройки
На административной странице настроек "Чтение" (Reading) выберите опцию "На главной странице отображать - Статическую страницу", укажите страницы, которые вы хотите использовать как главную страницу ("Главная") и как страницу записей ("Блог") и сохраните изменения.
4. Меню
Если в вашей теме используется меню постоянных страниц, например, в "шапке" (файл темы header.php) или в боковом меню блога (файл темы sidebar.php), страница, назначенная вами главной страницей, также появится в этом меню. Чтобы исключить эту страницу из списка страниц, отображаемых в меню, нужно изменить соответствующий шаблон темы, который используется для этой главной страницы.
Изменение темы
Исключение страницы из меню
Выводит меню страниц функция wp_list_pages(), для которой можно задать для параметра exclude (исключить) id страницы (или страниц) , которую нужно исключить из меню, или для параметра include (влючить) перечислить через запятую id страниц , которые нужно включить в меню (здесь id главной страницы =10 ):
<?php wp_list_pages('exclude=10'); ?>
или
<?php wp_list_pages('include=7,8,9,11,12'); ?>
Как узнать id: URL и id в WordPress
Выбор для главной страницы
В шаблоне можно выбирать содержимое для главной страницы, отличающееся от содержимого для остальных страниц, использовав, что is_front_page() возвращает true, когда отображается главная страница, назначенная в настройках, как показано выше. Например, на главной странице можно не выводить боковое меню. Для этого в файле index.php темы вместо строки
<?php get_sidebar(); ?>
нужно написать :
<?php if (!is_front_page()) {
get_sidebar();
} ?>
Программный выбор главной страницы
Программно создать страницы О блоге (About) и Блог (Blog) позволяет wp_insert_post().
<?php
// Статическая главная страница
$about = get_page_by_title('About');
update_option('page_on_front', $about->ID);
update_option('show_on_front', 'page');
// Страницы записей (блог)
$blog = get_page_by_title('Blog');
update_option('page_for_posts', $blog->ID);
// Переключение на тему
//switch_theme('Template', 'stylesheet');
?>
is_home() и is_front_page()
is_home() проверяет, является ли текущая страница страницей записей (posts page).
is_front_page проверяет, является ли текущая страница главной страницей сайта.
В WordPress по умолчанию главной является страница записей, поэтому функции is_front_page() и is_home() обе проверяют нахождение на главной странице.