Страница архивов на WordPress
Думаю, начинающий вебмастер, рано или поздно сталкивается с проблемой вывода архива записей, будь то блог или портал. И многие CMS имеют такую возможность, ну или подразумевают её наличие. Так и с системой WordPress, множественные функции вполне способны реализовать архивы записей: по рубрикам, по авторам, по месяцам и т.п. Только отдельной страницы под эти нужды разработчиками WP не предусмотрено, правда, некоторые темы WordPress могут содержать шаблон страницы – «архивы».
Конечно, в системе присутствуют соответствующие виджеты, которые не только выводят список рубрик блога, но и отдельный список записей по месяцам. Только не всегда Sidebar сайта позволяет вывести столь крупные блоки, которые со временем разрастаются, занимая почти всё место боковой панели. И тут, может придти на помощь создание отдельной странички под вывод архивов публикаций, что более удобнее в сравнении с той же «картой сайта»…
Содержание статьи:
Код вывода списка рубрик
Для начала давайте разберёмся, что мы будем выводить на странице. Во первых, раз это архивы, то и помимо всего, стоит показывать количество содержащихся записей. И во вторых, представить, как минимум, пару вариантов доступа к прошлым публикациям.
Сперва берём на вооружение код вывода списка рубрик, используемый в стандартном виджете:
<ul>
<?php wp_list_cats('hierarchical=0&optioncount=1&show_count=1'); ?>
</ul>
Код настроен на показ счётчика записей.
Код вывода архива по месяцам
А вторым вариантом вывода архивов WordPress станет стандартный виджет «Архивы», который отображает прошлые записи по месяцам, начиная с первой публикации:
<ul>
<?php wp_get_archives('show_post_count=1'); ?>
</ul>
Также, как и первый код, этот настроен на показ числа записей.
И код для рубрик, и для архивов, можно использовать для Sidebar, либо для области Footer. Главное, чтобы у Вас отрабатывался код PHP в виджетах.
Как сделать страницу архивов?
Чтобы объединить вывод двух блоков на одной странице, понадобиться создать новый шаблон на основе «Page.php»,то есть на базовом шаблоне страницы WordPress, присутствующем в каждой теме.
Для этого лучше скопировать файл темы по средствам FTP подключения. И начать редактирование не посредственно на компьютере, например через редактор «Notepad++».
В коде находим строку, отвечающую за вывод содержимого страницы:
<?php the_content(); ?>
И сразу после неё можно вставлять коды блоков архива (или заменив системный вывод «content» на соответствующие коды). Оформление отображения можно отредактировать по своему усмотрению.
В самом верху кода добавляем несколько строчек, которые определят его как новый шаблон страницы. Например, назовём его «Archives»:
<?php
/*
Template Name: Archives
*/
?>
После можно закрыть редактирование, сохранив внесённые изменения. Переименовываем полученный файл «page.php» в «Archives.php» и загружаем в каталог сайта по пути темы WordPress.
Дальнейшее редактирование можно продолжить через админ – панель (Внешний вид -> Редактор -> Archives.php). А после создайте новую страницу, дайте ей соответствующее название и справа в выпадающем меню выберете новый шаблон «Archives».
Пример кода страницы «Архивы» с расположением блоков в две колонки:
<?php
/*
Template Name: Archives
*/
?>
<?php get_header(); ?>
<div id="page">
<div class="content">
<article class="article">
<div id="content_box" >
<div id="content" class="hfeed">
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<h1>Архив публикаций</h1>
<div style="float:left; width : 50%">
<h3>По месяцам:</h3>
<ul>
<?php wp_get_archives('show_post_count=1'); ?>
</ul>
<br />
</div>
<h3>По рубрикам:</h3>
<ul>
<?php wp_list_cats('hierarchical=0&optioncount=1&show_count=1'); ?>
</ul>
<?php endwhile; ?>
</div>
</div>
</article>
<?php get_sidebar(); ?>
</div>
</div>
<?php get_footer(); ?>
Примечание! Данный пример не будет корректно отображаться на вашем блоге, для того чтобы скопировать — придётся внести изменения в соответствии с вашем шаблоном темы WordPress.
Вместо послесловия
Ничего оригинального мы не сделали, по сути перенесли стандартные возможности в нестандартное для них место! Если Вы немного разбираетесь в CSS и HTML, то Вам не составит труда предать оригинальный вид созданному шаблону и отображению архивов в частности.
Это не совсем то что я искал. Но спасибо за труды