Функция позволяет реализовать различными способами навигацию по страницам архивов постов на сайте.
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' ) );