Делаем вывод архивов рубрик. Создание категории или иерархической таксономии. Страницы архивов wordpress по умолчанию

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

Сразу покажу, что получим в результате.

Вид архивов wordpress: архив рубрик до измения
Архив рубрик с убранными миниатюрами и ссылкой подробнее.

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

Меняем внешний вид архивов WordPress

Чтобы изменить внешний вид архивов WordPress, нужно найти, вернее, определить, какой файл в вашем рабочем шаблоне выводит архивы. В большинстве шаблонов все архивы выводятся единым файлом, называется он (archive.php).

Повторяюсь, для безопасности потерять сайт, не используем редактор в административной панели сайта, а правим заранее сделанные резервные копии файлов шаблона.

В текстовом редакторе (типа Notepad++), открываем файл archive.php и начинаем правку. В файле archive.php (в конце файла) ищем функцию, выводящую блог архива:

Имя это имя файла, который используется для вывода блога архивов.

Первая идея выполнения задачи проста : нам нужно поменять код файла выводящего архивы (content.php), а именно, убрать в нем несколько функций, и тем самым сменить внешний вид всех архивов сайта (рубрик, авторов, дат и т.д.).

Но возникает вопрос, если мы поменяем код файла шаблона, он вернется в прежнее состояние после первого обновления шаблона, нам это не нужно. Поэтому, мы не будем редактировать файл content.php, а копируем его и создаем свой файл, под другим названием, например content-cat.php и редактируем его .

Ищем в файле функцию, выводящую миниатюры. Функция вывода миниатюр будет вверху. Убираем вывод миниатюры.

или и убираем строку с ‘Read More’, ‘название шаблона’.

Созданный и отредактированный файл content-cat.php сохраняем и заливаем в каталог сайта в папку рабочего шаблона. Этот файл появится в административной панели сайта на вкладке Внешний вид→Редактор.

Переходим ко второму шагу. В файле, который выводит архивы (archive.php), меняем название файла content на content-cat .

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

Совет. Если хотите почитать больше, о тегах шаблонов и стандартных функциях WordPress, обратите внимание на этот сайт: https://wp-kama.ru . Это не реклама и даже не ссылка, этот сайт понятнее, чем официальный сайт WordPress, в разделе тегов шаблонов и функций.

В развитие темы

По-моему, тема анонсов на сайтах WordPress требует продолжения. В ближайших постах, проговорю темы: и .

WordPress Codex

Скрытый текст

Функция the_post_thumbnail

Функция

the_post_thumbnail

Назначение

Функция the_post_thumbnail выводит html код картинки-миниатюры поста пустое значение, если картинка отсутствует.

Применение

Этот тег шаблона, функция the_post_thumbnail, должен использоваться внутри

Использование

the_post_thumbnail(string|array $size = "post-thumbnail", string|array $attr = "")

Источник

Файл: wp-includes / post-thumbnail-template.php

Function the_post_thumbnail($size = "post-thumbnail", $attr = "") { echo get_the_post_thumbnail(null, $size, $attr); }

Параметры

$size (строка/массив)

Размер миниатюры, которую нужно получить. Может быть строкой с условными размерами: thumbnail, medium, large, full или массив из двух элементов (ширина и высота картинки): array(60, 60).

По умолчанию : ‘post-thumbnail’, то есть размер который устанавливается для текущей темы функцией set_post_thumbnail_size()

$attr (строка/массив)

Массив атрибутов, которые нужно добавить получаемому html тегу img (alt - альтернативное название).

По умолчанию :

Пример

" title= "_("permalink"), the_title_attribute("echo=0")); ?>"> get("layout", "imgwidth"), $SMTheme->get("layout", "imgheight")), array("class" => $SMTheme->get("layout","imgpos") . " featured_image")); if (!is_single()){ ?>

Я уже однажды говорил в блоге и твиттере, что нужно бы заняться модификацией (ребрендингом) архива своих wordpress блогов. Практически во всех стандартных шаблонах можно увидеть в сайдбаре блок архивов, где располагаются ссылки на те или иные месяцы публикаций. Сначала оно вроде как нормально смотрится, но когда ты ведешь блог года 2-3, то этих линков может накопиться штук 20-30. Во-первых, это визуально не совсем хорошо, архив занимает слишком много места при том, что его польза минимальна — искать нужную статью в архиве неэффективно. Во-вторых, понятное дело, что на страницах архива располагается не самый уникальный (можно даже сказать дублированный) контент, поэтому лишний раз делать на этом акцент ненужно.

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

С помощью этого кода вы отображаете последние 12 месяцев архива, но «забывать» об остальных ссылка я бы не стал, просто их нужно разместить в другом месте — специальной странице архива. Вариантов ее реализации есть несколько. Во-первых, можно сделать отдельный шаблон для этой страницы WordPress , где выводить архивы через wp_get_archives, а, во-вторых, можно обратиться за помощью к сторонним разработкам и модулям.

Итак, плагины для архивов в WordPress:

Clean Archives Reloaded

Clean Archives Reloaded — генерирует список постов, которые разбиты по месяцам. При клике на тот или иной месяц список статей раскрывается или закрывается с помощью JavaScript.

На сайте авторе есть пример и описание реализации данной функции, где он пишет, что использовал специальный механизм кеширования для работы. Именно поэтому данный плагин не должен особо нагружать вашу БД множеством MySQL запросов и работать очень эффективно. Единственным вопросом при этом является совмещение этого плагина с — ведь оба плагина ссылаются на все посты, есть смысл один из них убрать из-за ненадобности — либо использовать карту сайта в виде страницы архива, либо применить для архива другие плагины.

Heat Map plugin

Heat Map plugin плагин позволяет отображать архивы блога, категории и теги в виде оригинального списка чем-то напоминающего . Активность в том или ином архиве отображается с помощью большего размера или цвета шрифта.

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

Smart Archives Reloaded

Smart Archives Reloaded — еще один «reloaded» плагин. Сначала я нашел оригинальный, но он не поддерживается разработчиком еще с весны и wp 2.3, что конечно не очень хорошо. А потом совершенно случайно обнаружил в поиске Smart Archives Reloaded и был приятно удивлен! Сохранив былые принципы работы он был расширен новыми опциями по настройке, в частности у вас будет несколько вариантов для вывода архива:

  • список постов по месяцам;
  • компактный блок с ссылками по годам и датам публикаций;
  • двухуровневое меню с годами и датами публикаций;
  • блок ссылок на месяцы архива + список постов (стандартный старый вид, используемый в оригинальной версии плагина).
  • меню + список постов + JavaScript. И вы получите совершенно нереальный и классный архив!

— весьма оригинальный динамический архив, реализованный на AJAX. Он позволяет найти любой пост блога через «временное дерево публикаций», то есть сначала выбираете год, потом месяц и можете увидеть список постов за это время. Есть также возможность просмотра архива по категориям.

Вообще я нашел этот плагин раньше чем Smart Archives Reloaded, поэтому был им весьма впечатлен. По сути, к плюсам можно занести использование AJAX, архив по дате и категориях, но в качестве сложностей выступает необходимость изменения оформления архива (не совсем красиво выглядит) и локализация.

Collapsing Archives

Collapsing Archives — с помощью Javascript в данном плагине реализована возможность раскрытия годов, месяцев публикаций, как это, например, можно видеть в архивах Blogger`а. В большей степени подходит для сайдбара, но также применимо для страницы архива:

Приятной особенностью плагина есть очень большое количество настроек для него, которые можно задать в админке wordpress. Добротный такой модуль, который подходит для wp 2.8 — 3.0.1.

Latest Post from each Category plugin

Latest Post from each Category plugin — можно использовать этот плагин в качестве небольшого дополнения к архиву. По названию вы уже могли догадаться, что он выводить последние статьи для каждой директории. То есть, например, вы на странице архива размещаете ссылки на месяцы публикаций и дополняете это все вот таким вот «приятным» бонусом для читателей:

Думаю, начинающий вебмастер, рано или поздно сталкивается с проблемой вывода архива записей, будь то блог или портал. И многие CMS имеют такую возможность, ну или подразумевают её наличие. Так и с системой WordPress, множественные функции вполне способны реализовать архивы записей: по рубрикам, по авторам, по месяцам и т.п. Только отдельной страницы под эти нужды разработчиками WP не предусмотрено, правда, некоторые темы WordPress могут содержать шаблон страницы – «архивы».

Конечно, в системе присутствуют соответствующие виджеты, которые не только выводят список рубрик блога, но и отдельный список записей по месяцам. Только не всегда Sidebar сайта позволяет вывести столь крупные блоки, которые со временем разрастаются, занимая почти всё место боковой панели. И тут, может придти на помощь создание отдельной странички под вывод архивов публикаций, что более удобнее в сравнении с той же « »…

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

Сперва берём на вооружение код вывода списка рубрик, используемый в стандартном виджете:

Код настроен на показ счётчика записей.

Код вывода архива по месяцам

А вторым вариантом вывода архивов WordPress станет стандартный виджет «Архивы», который отображает прошлые записи по месяцам, начиная с первой публикации:

Также, как и первый код, этот настроен на показ числа записей.

Как сделать страницу архивов?

Чтобы объединить вывод двух блоков на одной странице, понадобиться создать новый шаблон на основе «Page.php»,то есть на базовом шаблоне страницы WordPress, присутствующем в каждой теме.

Для этого лучше скопировать файл темы . И начать редактирование не посредственно на компьютере, например через редактор «Notepad++».

В коде находим строку, отвечающую за вывод содержимого страницы:

И сразу после неё можно вставлять коды блоков архива (или заменив системный вывод «content» на соответствующие коды). Оформление отображения можно отредактировать по своему усмотрению.

В самом верху кода добавляем несколько строчек, которые определят его как новый шаблон страницы. Например, назовём его «Archives»:

После можно закрыть редактирование, сохранив внесённые изменения. Переименовываем полученный файл «page.php» в «Archives.php» и загружаем в каталог сайта по пути темы WordPress.

Дальнейшее редактирование можно продолжить через админ – панель (Внешний вид -> Редактор -> Archives.php). А после создайте новую страницу, дайте ей соответствующее название и справа в выпадающем меню выберете новый шаблон «Archives».

Пример кода страницы «Архивы» с расположением блоков в две колонки:

Архив публикаций

По месяцам:


По рубрикам:

Примечание! Данный пример не будет корректно отображаться на вашем блоге, для того чтобы скопировать — придётся внести изменения в соответствии с вашем шаблоном темы WordPress.

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

Чтобы добавить новые возможности для вашего архива, воспользуйтесь плагином. С его помощью вы сможете отображать архив так, как вам нравится. Имеется множество плагинов архива для WordPress, мы выбрали из них 5 лучших бесплатных плагинов.

1. Snazzy Archives

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

  • Визуальное представление.
  • Множество функций.
  • Отображение HTML & CSS.
  • Функции кэширования.

2. Smart Archives Reloaded

Smart Archives Reloaded — позволяет группировать записи в блоге по годам и месяцам. Используя этот плагин, вы с помощью элементов навигации сможете сделать свой архив интереснее. Данный плагин занимает очень мало места, он не требует много ресурсов, в результате чего ускоряется загрузка страниц, а с помощью настроек вы сможете сделать ваш архив таким, каким захотите.

Основные моменты и особенности:

  • Группировка архивов по годам и месяцам.
  • Элементы навигации.
  • Требует мало места.
  • Пользовательские настройки.

3. Collapsing Archives

Collapsing Archives – плагин, который поможет вам сэкономить много места, с помощью специальной функции делая ваш архив разборным. Вы сможете сделать ваш архив разборным по годам и месяцам. Это действительно полезно, так как если вы захотите отображать ваш архив в сайдбаре, вы сможете сэкономить там много полезного места.

Основные моменты и особенности:

  • Функция разборного архива.
  • Разборный архив по годам и месяцам.
  • Экономия места в сайдбаре.
  • Поддержка jQuery.

4. Simple Yearly Archive

Simple Yearly Archive — отображает архив вашего блога по годам. С его помощью вы сможете также ограничить показ определённых категорий. Имеется поддержка нескольких языков, что позволяет пользователям, говорящим на других языках, пользоваться преимущественно этим плагином.

Основные моменты и особенности:

  • Отображение архива по годам.
  • Простота в использовании.
  • Поддержка нескольких языков.
  • Ограничение показа определённых категорий.

5. Annual Archive

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

Этот плагин имеет поддержку всех языков.

Основные моменты и особенности:

  • Множество функций.
  • Опция шорткода.
  • Виджет сайдбара.
  • Поддержка всех языков.

Заключение

Буквально вчера выполнял очередное задание с GoGetLinks и на одной из страниц превысил допустимое число внутренних ссылок. Глянул так на блог что можно было убрать и понял — архив. Хотя, в принципе, конечно, все это затевалось не ради GGL, сам архив я уже давно хочу как-то модернизировать для всех своих блогов, но никак не нахожу времени чтобы покопаться с паре тройке плагинов и найти оптимальный для себя. Если так призадуматься, то пользы от 10-20 ссылок в сайдбаре на архивы блога не особо много, вряд ли кто-то будет изучать информацию, которая вполне вероятно уже не актуальна. К тому же куда более удобно искать посты по wordpress категориям, тегам или поиску. Лично у меня нет желания убирать архив на совсем, пусть себе статьи линкуются, но хотелось бы разместить его на отдельной странице — что-то вроде карты сайта, но по месяцам. Но сегодня не об этом, расскажу о функции wp_get_archives и ее возможностях.

Итак, функция wp_get_archives используется для отображения архива блога по датам. Информация может выводиться в любом месте шаблона. Синтаксис функции следующий:

По умолчанию аргумент имеется значения:

"monthly" , "limit" => , "format" => "html" , "before" => , "after" => , "show_post_count" => false , "echo" => 1 ) ; ?>

"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 — в виде выпадающего списка (

    Выводим все статьи блога в алфавитном порядке (можно использовать в какой-то степени в качестве карты сайта):

    Хук 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 ) ;

    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, бесплатная доставка по Украине.