wp_get_archives() — выводит список ссылок на архивы постов — навигацию по архивам

Функция позволяет реализовать различными способами навигацию по страницам архивов постов на сайте.

wp_get_archives($args = '')

Значения параметра $args по умолчанию:

$args = array(
    'type'            => 'monthly',
    'limit'           => '',
    'format'          => 'html', 
    'before'          => '',
    'after'           => '',
    'show_post_count' => false,
    'echo'            => 1,
    'order'           => 'DESC'
);

По умолчанию функция выводит ссылки на страницы архивов по месяцам в виде <ul> маркированого списка без ограничения по количеству. Ссылки выводятся в убывающем порядке (т.е. более свежие в начале списка, более старые — в конце).

Параметры массива $args:

type
(строка) В каком виде нужно выводить ссылки:
  • monthly — список архивов по месяцам (по умолчанию),
  • yearly — список архивов по годам,
  • daily — по дням,
  • weekly — по неделям,
  • postbypost — выводит ссылки на посты, отсортированные по дате,
  • alpha — выводит ссылки на посты, отсортированные по алфавиту (по заголовку).
limit
(целое число) Количество ссылок, которые нужно отобразить. По умолчанию — все.
format
(строка) В каком виде вывести ссылки. Может принимать значения:
  • html — HTML список <li>,
  • option — в виде выпадающего списка <select>, при этом выведены будут только элементы <option> с атрибутами value равными ссылками на соответствующие страницы архивов, тег<select> кстати надо будет добавить самому (подробнее в примерах),
  • link — каждая ссылка будет добавлена в тег <link>, в этом случае они не будут отображаться на сайте,
  • custom — ссылки просто идут подряд.
before
(строка) Текст или HTML-код, который будет автоматически добавлен перед каждой ссылкой. Этот параметр можно использовать только если format равен html или custom.
after
(строка) Текст или HTML-код, который будет автоматически добавлен после каждой ссылки. Использовать только если параметр format равен html или custom.
show_post_count
(логическое) Нужно ли рядом с каждой ссылкой отображать количество содержащихся постов. Не работает, если type равен postbypost или alpha.
echo
(логическое)
  • true — вывести результат действия функции (по умолчанию),
  • false — возвратить;
order
(строка) Направление сортировки. Параметр игнорируется, если type равен alpha.
  • ASC — по возрастанию (А-Я),
  • DESC — по убыванию (Я-А) (по умолчанию).

Примеры

Выводим список архивов за последние двенадцать месяцев:

wp_get_archives( array( 'limit' => 12 ) );

Список архивов за последние 3 года (выводятся ссылки только на страницы архивов по годам):

wp_get_archives( array( 'type' => 'yearly', 'limit' => 3 ) );

Используя эту функцию, мы также можем просто вывести свежие записи на блоге:

wp_get_archives( array( 'type' => 'postbypost', 'limit' => 10 ) );

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

<select onchange="document.location.href=this.options[this.selectedIndex].value;">
    <option value="">Выберите месяц...</option> 
    <?php wp_get_archives( array( 'type' => 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>
</select>

Выведем все посты на блоге, отсортированные в алфавитном порядке:

wp_get_archives( array( 'type' => 'alpha' ) );

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: