21.01.2014

Как упорядочить рубрики в Wordpress?



Многие при настройке блога на Wordpress сталкиваются с такой бедой как настройка порядка вывода рубрик на странице. Тут дело не в "криворукости" пользователей, а в самом вордпрессе. Увы, но по сей день один из самых распространенных движков интернете не имеет встроенного механизма управления рубриками из коробки. Если пошерстить поиск на предмет решения этой проблемы, то вы найдете массу постов, посвященных этой теме, но все они, как один отправят вас на страницу плагина под названием Category Order. Через этот плагин можно настроить порядок расположения рубрик и вывести его виджетом плагина в сайдбаре. В большинстве случаев, установка этого плагина решает проблему с выводом рубрик на странице, но не всегда. Например в моем случае, на сайте Maximum Mobility рубрики выводятся в шапке сайта в виде горизонтального меню, и мне размещением виджета этот вопрос никак не решить.

 
Но, безвыходных ситуаций не бывает! Поковырявшись немного в коде самой темы, можно худо-бедно настроить вывод рубрик по нескольким параметрам. Как показывает практика, этого вполне достаточно для того, чтобы расположить рубрики на сайте в нужной вам последовательности. Я не программист, и особыми навыками в этой области не обладаю, поэтому приведу инструкцию по настройке честно стыренную вот в этом блоге. Кстати, рекомендую почитать этот блог, в нем очень много полезной информации! А теперь приступим:

За настройку порядка рубрик в Wordpress отвечает функция wp_list_categories. Находим эту функцию в файлах темы (В моем случае она находится в header.php) и правим ее параметры ручками. Ниже привожу аргументы, которые можно использовать с этой функцией:

Аргументы функции wp_list_categories:
  • orderby – устанавливает сортировка по категориям, может быть равна id (сортирует по id рубрки), name (по имени), slug (по ярлыку), count (по количеству записей);
  • order – устанавливает порядок сортировки, значения – ASC (прямой порядок), DESC (обратный порядок);
  • title_li – задает заголовок для списка рубрик;
  • number – ограничивает количество выводимых рубрик;
  • show_count – выводит количество статей в рубрике;
  • show_last_updated – выводит дату последнего обновления;
  • hide_empty – скрывать пустые рубрики;
  • hierarchical – влияет на то будит ли список иерархическим или нет – True (иерархический), False (не иерархический);
  • use_desc_for_title – выводит описание рубрики в качестве ее заголовка;
  • include – выводит в список только указанные рубрики (указывается id рубрик через запятую);
  • exclude  – обратный параметр, исключает из списка, указанные рубрики;
  • exclude_tree – исключения указанную ветку рубрики;
  • child_of – вывод только под рубрики для заданной родительской рубрики;
  • depth – указывает количество уровней для под рубрик для вывода;
  • style – задает стиль оформления, значения – list (список), none (переход строки);
  • show_option_all – отображает ссылка на все рубрики, если в качестве стиля отображения выбран список;
  • feed – отображение ссылку на wordpress rss фид для категорий;
  • feed_type – тип фида;
  • feed_image – картинка для значка rss;
  • echo – выводит рубрики, по умолчанию равен True.
Аргументы в функции разделяются знаком & (and)

В качестве примера, покажу как они выведены на моем сайте:


<?php wp_list_categories('depth=3&exclude=1&hide_empty=1&orderby=count&order=desc&show_count=0&use_desc_for_title=1&title_li='); ?>
 Т.е., в моем случае выводится до 3-х дочерних рубрик, ранжируются рубрики по количеству постов в каждой (orderby=count), и выводятся в обратном порядке, то есть впереди будет рубрика с большим количеством постов (order=desc). Если остались вопросы, пишите в коментариях, постараюсь ответить на них. До новых встреч!







Комментариев нет:

Отправить комментарий