Функция wp_get_archives для вывода архива блога
Буквально вчера выполнял очередное задание с GoGetLinks и на одной из страниц превысил допустимое число внутренних ссылок. Глянул так на блог что можно было убрать и понял — архив. Хотя, в принципе, конечно, все это затевалось не ради GGL, сам архив я уже давно хочу как-то модернизировать для всех своих блогов, но никак не нахожу времени чтобы покопаться с паре тройке плагинов и найти оптимальный для себя. Если так призадуматься, то пользы от 10-20 ссылок в сайдбаре на архивы блога не особо много, вряд ли кто-то будет изучать информацию, которая вполне вероятно уже не актуальна. К тому же куда более удобно искать посты по wordpress категориям, тегам или поиску. Лично у меня нет желания убирать архив на совсем, пусть себе статьи линкуются, но хотелось бы разместить его на отдельной странице — что-то вроде карты сайта, но по месяцам. Но сегодня не об этом, расскажу о функции wp_get_archives и ее возможностях.
Итак, функция wp_get_archives используется для отображения архива блога по датам. Информация может выводиться в любом месте шаблона. Синтаксис функции следующий:
<?php wp_get_archives( $args ); ?> |
По умолчанию аргумент имеется значения:
<?php $args = array( 'type' => 'monthly', 'limit' => , 'format' => 'html', 'before' => , 'after' => , 'show_post_count' => false, 'echo' => 1 ); ?> |
То есть без каких-либо настроек функция wp_get_archives выводит:
- архив по месяцам
- отображает все доступные ссылки без ограничения в количестве
- выводит архив в формате списка LI
- перед каждой ссылкой ничего не добавляется
- и количество постов за период тоже не показывается
Параметры wordpress функции wp_get_archives могут принимать следующий значения.
type (string) — тип архивных ссылок (дат), которые выводятся:
- yearly — года
- monthly — месяцы (по умолчанию)
- daily — дни
- weekly — недели
- postbypost — посты, отображаемые по дате (используется часто в шаблонах wordpress для вывода списка последних постов блога. Про это я уже как-то рассказывал в статье как отображать последние посты и комментарии блога, популярные статьи. http://tods-blog.com.ua/wordpress/lastpost-comments/
- alpha — в алфавитном порядке, то же самое, что и postbypost, но вместо даты статьи отображаются по алфавиту.
limit — количество записей архива для отображения, по умолчанию выводит все.
format (string) — формат ссылок для списка архива, есть такие варианты:
- html — в виде обычного списка LI (по умолчанию)
- option — в виде выпадающего списка (<select> и <option>)
- link — в виде тегов <link>
- custom — свой вариант использует значения параметров before и after.
before (string) — текст, который отображается перед ссылкой, если вы используете формат отображения.
after (string) — то же самое, что и before, только выводится после ссылки.
show_post_count (boolean) — определяет показывать или нет количество постов в той или иной записи архива. Применимо ко всем типам архива кроме postbypost, может принимать значения:
- 1 (True) — отображать количество постов
- 0 (False) — не отображать (по умолчанию)
echo (boolean) — определяет выводить ли результат функции wp_get_archives или нет
- 1 (True) — по умолчанию выводится
- 0 (False) — не выводить
В своих блогах я несколько раз касался данной тематики и описывал применение функции wp_get_archives. Про последние посты я уже говорил, также можно глянуть статью про список последних сообщений выбранной категории, ну и приведу парочку стандартных примеров.
Выводим архив по месяцам, только последние 12:
<?php wp_get_archives('type=monthly&limit=12'); ?> |
Выводим архив по дням, только последние 15:
<?php wp_get_archives('type=daily&limit=15'); ?> |
Отображаем последние 20 постов:
<?php wp_get_archives('type=postbypost&limit=20&format=custom'); ?> |
Отображаем архив в виде выпадающего списка по месяцам, где для каждого указано число постов:
<select name="archive-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo attribute_escape(__('Select Month')); ?></option> <?php wp_get_archives('type=monthly&format=option&show_post_count=1'); ?> </select> |
Выводим все статьи блога в алфавитном порядке (можно использовать в какой-то степени в качестве карты сайта):
<?php wp_get_archives('type=alpha'); ?> |
Хук widget_archives_args
Если вам нужно изменить параметры базового виджета Архива в WordPress, то можно использовать хук widget_archives_args. Следующий пример позволяет выводить в сайдбаре архив по годам с ограничением числа записей = 7. Добавить код нужно в functions.php.
function filter_widget_archives_args( $args ) { $args['type'] = 'yearly'; $args['limit'] = '7'; return $args; }; add_filter( 'widget_archives_args', 'filter_widget_archives_args', 10, 1 ); |
Вот, в принципе, и все:) Если есть какие-то вопросы, задавайте в комментариях. Лучший способ разобраться в работе функции wp_get_archives попробовать ее на практике.
P.S. Постовой. Для любителей почитать предлагаем интересный проект, где можно скачать электронные книги олнайн. На сайте есть разбиение по жанрам и авторам — искать достаточно легко.
Качественная декоративная косметика, женская и мужская парфюмерия в интернет магазине Makeup, бесплатная доставка по Украине.
комментариев 38 к статье “Функция wp_get_archives для вывода архива блога”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,93 из 7, голосов - 44)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
- Особливості MMORPG ігор (зокрема Lineage 2) та чому люди в них грають
Натали, если вы про видео с youtube, то в разделе категории не отображаются посты, содержащие видео. То есть на главной выводятся все подряд записи, а в разделе их нет. Если зайти в категорию «Презентации лидеров» то там все видео отображаются.
А как вывести архивы в 2 столбца?
Виктор, насколько я помню, единственный способ вывести в 2 столбца — использовать оформление CSS стилями.
А если я хочу чтобы не создавались больше на моем сайте страницы с архивом, мне будет достаточно убрать эту самую строчку из header.php?
Николай, архив (постов, тегов, категорий) — это всего-лишь форма отображения записей блога. То как будут выглядеть эти страницы задается, как правило, в файле archive.php.
Скажите, а как при помощи данной функции (или, может быть другой какой) в файле archive.php организовать вывод строки следующего типа:
«Вы просматриваете записи за октябрь 2014 года»
или
«Вы просматриваете записи за 10 октяря 2014 года»
(склонение мназвания месяца не критично) Важно вывести такую запись в заголовке, а дельше следует цикл выводящий сами записи.
Спасибо.
Koriolan, для отображения такой фразы, в принципе, вообще никакие функции не нужны. В файле archive.php обычно должно находится условие отображения постов по категориям (is_category), тегам (is_tag) и датам. Есть варианты is_month, is_day, is_year и общий is_archive. В общем, добавляете условие либо общее, либо за месяц is_month и в блоке отображения постов с помощью функции the_time, например the_time(‘F, Y’) выводите дату + текст.
Спасибо) Очень помог!