Как настроить отображение архивов WordPress на боковой панели

Опубликовано: 2022-03-14

Вам нужно настроить отображение ваших архивов WordPress на боковой панели?

Виджет архивов WordPress по умолчанию предлагает ограниченную настройку. Вам может понадобиться, чтобы ваши почтовые архивы занимали меньше места, отображали больше информации или имели более привлекательный вид.

В этой статье мы покажем вам, как настроить отображение архивов WordPress на боковой панели.

How to Customize the Display of WordPress Archives in Your Sidebar

Зачем настраивать отображение архивов WordPress на боковой панели?

Ваш веб-сайт WordPress поставляется с виджетом архивов, который позволяет отображать ежемесячные ссылки на архив постов в блоге на боковой панели.

У виджета есть два варианта настройки: вы можете отобразить список архивов в виде раскрывающегося меню и вы можете отобразить количество сообщений за каждый месяц.

The Default WordPress Archives Widget

Однако вы можете по-другому отобразить список архивов боковой панели. Например, по мере роста вашего сайта список по умолчанию может стать слишком длинным, или вы можете упростить навигацию для посетителей.

Давайте рассмотрим несколько способов настройки отображения архивов WordPress на боковой панели:

  • Создание компактных архивов
  • Отображение архивов в сворачиваемой структуре
  • Ограничение количества отображаемых месяцев архива
  • Список архивов ежедневно, еженедельно, ежемесячно или ежегодно
  • Отображение ежемесячных архивов по годам

Создание компактных архивов

Если ваш список архивов стал слишком длинным, вы можете создать компактный архив, который будет отображать ваши сообщения, используя гораздо меньше места.

Вам нужно будет установить и активировать плагин Compact Archives, который разработан и поддерживается командой WPBeginner. Для получения более подробной информации см. наше пошаговое руководство по установке плагина WordPress.

После активации вы можете добавить компактные архивы в сообщение, страницу или виджет, используя блок «Компактные архивы WPBeginner».

The Compact Archives Plugin

Компактный список архивов экономит место по вертикали, будучи немного шире. Это означает, что он может лучше вписаться в нижний колонтитул или страницу архива, чем в боковую панель.

Тем не менее, плагин достаточно настраиваемый, и вы можете сделать его более узким, отображая только первую букву или число для каждого месяца. Вы можете узнать больше в нашем руководстве о том, как создавать компактные архивы в WordPress.

Отображение архивов в сворачиваемой структуре

Еще один способ справиться с длинными списками архивов — отобразить сворачиваемую схему лет и месяцев, когда вы публиковали сообщения в блоге.

Для этого вам необходимо установить и активировать плагин Collapsing Archives. После активации вам необходимо посетить страницу Внешний вид »Виджеты и добавить виджет «Компактные архивы» на боковую панель.

The Collapsing Archives Plugin

Виджет «Сворачивание архивов» использует JavaScript для сворачивания вашего архива по годам. Ваши пользователи могут щелкнуть по годам, чтобы развернуть их для просмотра ежемесячных архивов. Вы даже можете сделать ежемесячные архивы сворачиваемыми и позволить пользователям видеть заголовки сообщений под ними.

Вы можете узнать больше, обратившись к Методу 1 в нашем руководстве о том, как ограничить количество месяцев архива, отображаемых в WordPress.

Вот как это выглядит на нашем демо-сайте.

Preview of a Collapsing Archive

Ограничение количества отображаемых месяцев архива

Третий способ предотвратить слишком длинный список архивов — ограничить количество отображаемых месяцев, скажем, последними шестью месяцами.

Для этого вам нужно будет добавить код в файлы вашей темы WordPress. Если вы еще этого не сделали, посмотрите наше руководство о том, как копировать и вставлять код в WordPress.

Первый шаг — добавить следующий фрагмент кода в файл functions.php, в подключаемый модуль для конкретного сайта или с помощью подключаемого модуля фрагментов кода.

// Function to get archives list with limited months
function wpb_limit_archives() { 
 
$my_archives = wp_get_archives(array(
    'type'=>'monthly', 
    'limit'=>6,
    'echo'=>0
));
     
return $my_archives; 
 
} 
 
// Create a shortcode
add_shortcode('wpb_custom_archives', 'wpb_limit_archives'); 
 
// Enable shortcode execution in text widget
add_filter('widget_text', 'do_shortcode'); 

Вы можете изменить отображаемое количество месяцев, отредактировав число в строке 6. Например, если вы измените число на «12», тогда будет отображаться 12 месяцев архивов.

Теперь вы можете перейти на страницу Внешний вид » Виджеты и добавить виджет «Пользовательский HTML» на боковую панель. После этого вы должны вставить следующий код в окно виджета:

<ul>
[wpb_custom_archives]
</ul>
Adding Shortcode to a Custom HTML Widget

Как только вы нажмете кнопку «Обновить», на боковой панели отобразятся архивы всего за шесть месяцев.

Для получения дополнительной информации см. Метод 3 в нашем руководстве о том, как ограничить количество месяцев архива, отображаемых в WordPress.

Список архивов ежедневно, еженедельно, ежемесячно или ежегодно

Если вам нужен больший контроль над перечислением ваших архивов, вам поможет плагин Annual Archive. Он позволяет составлять список ваших архивов ежедневно, еженедельно, ежемесячно, ежегодно или в алфавитном порядке, а также может группировать списки по десятилетиям.

Начните с установки и активации плагина Annual Archive. После этого вы можете перейти на страницу « Внешний вид» «Виджеты» и перетащить виджет «Годовой архив» на боковую панель.

The Annual Archive Plugin

Вы можете дать виджету название, а затем выбрать, отображать ли список дней, недель, месяцев, лет, десятилетий или сообщений. Вы можете прокрутить вниз до других параметров, чтобы ограничить количество отображаемых архивов, выбрать вариант сортировки и добавить дополнительный текст.

Если вы перейдете в Настройки »Годовой архив , вы можете дополнительно настроить список архивов с помощью пользовательского CSS.

Отображение ежемесячных архивов по годам

Как-то раз мы работали над дизайном сайта клиента, который нуждался в месячных архивах, упорядоченных по годам в сайдбаре. Это было сложно закодировать, потому что этот клиент хотел показать год только один раз слева.

Displaying Monthly Archives Arranged by Year

Мы смогли изменить код Эндрю Эпплтона. В коде Эндрю не было параметра ограничения для архивов, поэтому в списке будут показаны все месяцы архива. Мы добавили параметр ограничения, который позволял нам отображать только 18 месяцев в любой момент времени.

Что вам нужно сделать, так это вставить следующий код в файл sidebar.php вашей темы или любой другой файл, где вы хотите отображать пользовательские архивы WordPress:

<?php
global $wpdb;
$limit = 0;
$year_prev = null;
$months = $wpdb->get_results("SELECT DISTINCT MONTH( post_date ) AS month ,  YEAR( post_date ) AS year, COUNT( id ) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now( ) and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
foreach($months as $month) :
    $year_current = $month->year;
    if ($year_current != $year_prev){
        if ($year_prev != null){?>
         
        <?php } ?>
     
    <li class="archive-year"><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/"><?php echo $month->year; ?></a></li>
     
    <?php } ?>
    <li><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"><span class="archive-month"><?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?></span></a></li>
<?php $year_prev = $year_current;
 
if(++$limit >= 18) { break; }
 
endforeach; ?>

Если вы хотите изменить количество отображаемых месяцев, вам нужно отредактировать строку 19, где текущее значение $limit установлено на 18.

Вы также можете показать количество сообщений в каждом месяце, добавив этот фрагмент кода где-нибудь между строками 12–16 приведенного выше кода:

<?php echo $month->post_count; ?>

Вам нужно будет использовать пользовательский CSS для правильного отображения списка архивов на вашем веб-сайте. CSS, который мы использовали на веб-сайте нашего клиента, выглядел примерно так:

.widget-archive{padding: 0 0 40px 0; float: left; width: 235px;}
.widget-archive ul {margin: 0;}
.widget-archive li {margin: 0; padding: 0;}
.widget-archive li a{ border-left: 1px solid #d6d7d7; padding: 5px 0 3px 10px; margin: 0 0 0 55px; display: block;}
li.archive-year{float: left; font-family: Helvetica, Arial, san-serif; padding: 5px 0 3px 10px; color:#ed1a1c;}
li.archive-year a{color:#ed1a1c; margin: 0; border: 0px; padding: 0;}

Мы надеемся, что это руководство помогло вам научиться настраивать отображение архивов WordPress на боковой панели. Вы также можете узнать, как установить Google Analytics в WordPress, или ознакомиться с нашим списком проверенных способов заработать на блогах с помощью WordPress.

Если вам понравилась эта статья, подпишитесь на наш канал YouTube для видеоуроков по WordPress. Вы также можете найти нас в Twitter и Facebook.