Я видел много сайтов на WordPress, у которых на главной странице отображается какая-нибудь статичная страница, а страница блога находится отдельно, например yourwebsite.com/blog
.
Как же это реализовать на своём собственной сайте? На самом деле существует два способа — один простой и один не очень, рассмотрим их оба.
Способ 1. Использование index.php в качестве шаблона блога.
Это стандартный способ, предусмотренный в WordPress. Скорее всего на тех сайтах, про которые я говорил в самом начале поста, используется именно он. Рассмотрим пошагово.
Кстати, так как в разных темах содержимое файла index.php
разное — оно может быть совсем не предназначено для блога, в таких случаях либо меняем сами свой index.php
либо воспользуемся вторым способом, который я описал чуть ниже.
Шаг 1. Создание страницы блога.
Ну, что тут сказать, переходим в Страницы > Добавить новую, указываем какой-нибудь заголовок, например Блог и какой-нибудь URL, например blog, после этого сохраняем. Всё, с шагом 1 покончено.
Шаг 2. Настраиваем отображение страниц в настройках.
Переходим в Параметры > Чтение, настраиваем отображение нужной страницы на главной, а для страницы записей устанавливаем созданную в предыдущем шаге.
Шаг 3. Последний шаг. Добавляем страницу в меню.
Уже после завершения второго шага при переходе по адресу блога (у нас это yourwebsite.com/blog
), у вас будет отображаться страница с записями, использующая шаблон файла index.php
.
Тем не менее можно также добавить эту страницу в меню сайта (если поддерживается темой разумеется). Для этого переходим в Внешний вид > Меню, слева в колонке выбираем нашу страницу блога и нажимаем кнопку «Добавить в меню»
Способ 2. Использование собственного шаблона блога. Создание нескольких блогов на одном сайте WordPress.
Этот способ позволяет создавать страницы блога, используя свой собственный шаблон. Этот способ отлично подходит, если вам требуется изменить параметры вывода постов. Можно создавать разные страницы с разными параметрами вывода.
Шагов будет чуть побольше и они будут немного позаковырестей, чем в предыдущем методе. Итак, поехали.
Шаг 1. Создание шаблона страницы
Открываем папку с темой и создаем там файл произвольного названия, например blog-template.php
. Внутрь файла вставляем:
1 2 3 4 |
<?php /* * Template name: Блог */ |
Шаг 2. Создаем страницу блога
Этот шаг аналогичен первому шагу из начала поста. Итак, переходим в Страницы > Добавить новую, придумываем название и URL странице, и кроме всего прочего в атрибутах страницы указываем только что созданный нами шаблон.
Сохраняем.
Шаг 3. Плагин постраничной навигации
Однозначно, что нам понадобится постраничная навигация. Скорее всего у вас уже используется какой-то плагин или функция навигации. Если же навигация не будет работать, рекомендую поставить WP_PageNavi — этот плагин работает отлично, я его протестировал, всё ок.
Шаг 4. Шаблон страницы блога
Это голый шаблон блога, без таких важных функций как get_header(), get_footer() и прочего. Просто в данный момент важно понять саму суть.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php /* * Template name: Блог */ $current_page = (get_query_var('paged')) ? get_query_var('paged') : 1; // определяем текущую страницу блога $args = array( 'posts_per_page' => get_option('posts_per_page'), // значение по умолчанию берётся из настроек, но вы можете использовать и собственное 'paged' => $current_page // текущая страница ); query_posts( $args ); $wp_query->is_archive = true; $wp_query->is_home = false; while(have_posts()): the_post(); ?> <h2><?php the_title() /* заголовок */ ?></h2> <p><?php the_content() /* содержимое поста */ ?></p> <?php endwhile; if( function_exists('wp_pagenavi') ) wp_pagenavi(); // функция постраничной навигации |
Всё, страница блога создана, вы можете таким образом создать различные страницы блогов с разными параметрами массива $args.
Источник rudrastyh.com