Вывести список всех категорий для wordpress

Вывод категорий в WordPress: функция wp_list_categories

Приветствую всех посетителей блога DmitriyZhilin.ru, в этой статье я расскажу вам о функции wp_list_categories, отвечающей за вывод категорий в WordPress. Данная функция позволяет нам в разном виде выводить рубрики наших сайтов без использования стандартного виджета «Рубрики».

Честно сказать, я не любитель ковыряться в коде, предпочитаю все специфические моменты в работе над своим блогом перекладывать на плечи профессиональных фрилансеров (найти их можно тут – Kwork ). Однако жизнь заставляет порой сделать что-то самому, особенно если объем работ небольшой и прибегать к услугам программистов нецелесообразно.

Работа с функцией wp_list_categories как раз один из тех случаев. Данная функция позволяет нам легко, просто и, главное, быстро настроить вывод рубрик (категорий) сайта на WordPress так как нам удобно: сделать вывод определенных разделов или исключить лишнее, отсортировать по алфавиту, настроить внешний вид и еще много чего.

Я буду показывать применение wp_list_categories на своем блоге в сайдбаре, с помощью виджета «PHP-код», позволяющего выполнять команды языка PHP (добавляется плагином PHP Code Widget). В данный виджет я буду вставлять различные фрагменты кода, которые и позволят нам поэкспериментировать с выводом категорий.

Общие параметры функции

Итак, для того чтобы просто вывести перечень всех категорий достаточно вставить в виджет «PHP-код» вот такой код:

Читайте также:  Когда надо чистить железы у собак

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

Оформление данного заголовка редко вписывается в дизайн сайтов, поэтому его зачастую либо просто удаляют, либо изменяют.

Для этого в нашу функцию через символ & добавляется параметр title_li= . С помощью кода, приведенного ниже, заголовок просто удаляется:

Для того, чтобы все-таки добавить заголовок в блок категорий, вы можете задать стандартным способом название самому виджету в который мы вставляем код или оформить его обычным HTML:

Также, как я уже сказал выше, с помощью того же параметра title_li= мы можем изменять заголовок рубрик. В этом случае код функции будет выглядеть следующим образом:

Блок категорий при использовании этого кода не будет отличаться от первоначального, только с другим текстом в первой строке.

Кстати, название блока категорий (в моем примере это фраза «Мои рубрики») также можно заключать в теги. Например, можно воспользоваться тегами выделения шрифта жирным или как заголовок, например:

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

Вывод определенных категорий в WordPress

Едем дальше. С помощью функции wp_list_categories мы имеем возможность вывести только какие-то определенные категории в WordPress. Другими словами, мы можем указать какие конкретно категории нужно отобразить в блоке и сделать активными.

Дело в том, что каждая рубрика имеет свой индивидуальный id-номер. И выводить категории мы можем именно по этим самым номерам. Здесь читайте как посмотреть id категории в WordPress.

Чтобы указать id рубрик, которые мы хотим вывести нужно воспользоваться параметром include=. Вот как выглядит код, который отображает категории моего блога с id-номерами 80 и 91:

В результате блок с рубриками выводит две категории «Как создать сайт самому» и «Вопросы и ответы», и соответственно выглядит так (не забываем что title_li= скрывает/изменяет стандартный заголовок тега):

Также wp_list_categories позволяет указать какие рубрики не нужно отображать в блоке. Для этого существует параметр exclude=. По аналогии с предыдущей функцией указываем в ней id тех категорий, которые мы не хотим выводить:

Данным кодом я исключил все те же рубрики «Как создать сайт самому» и «Вопросы и ответы», в результате блок стал выглядеть так:

Вывод количества записей в рубрике

Кроме этого, с помощью данной функции можно указывать количество записей (статей), которые содержатся в той или иной категории. Здесь нам понадобится параметр show_count= :

Использование данного кода придает блоку рубрик следующий вид:

Некоторым при использовании отображения количества записей в категориях не нравится скобки. Чтобы их убрать и выводить числа без скобок необходимо использовать такой код:

Сортировка категорий по алфавиту

На случай если категории в блоке выводятся без сортировки по алфавиту предусмотрен параметр orderby= . Чтобы рубрики выстроились по названию необходимо задать этому параметру значение name :

У меня на блоге все рубрики изначально отсортированы по алфавиту, поэтому задавать этот параметр не нужно.

Ну что ж, теперь для закрепления информации давайте реализуем с помощью кода сразу несколько задач.

Использование wp_list_categories с комплексом параметров

Выведем только три рубрики с id 80 и 91, покажем сколько в этих категориях статей, уберем скобки вокруг цифры статей и зададим название блоку. Вот как в этом случае будет выглядеть код:

Этим кодом мы задали функции сразу несколько параметров и вот что получилось в результате:

Как вы заметили все параметры сработали и наш блок отобразился именно так, как мы и хотели.

Другие возможности wp_list_categories

Некоторым может показаться, что использовать wp_list_categories нет необходимости, ведь существует стандартный виджет «Рубрики». Отчасти да, применять на каждом шагу данную функцию смысла нет, но многие возможности в виджете не реализованы, кроме того, виджет работает только в сайдбаре, а с помощью функции вы можете делать вывод рубрик на страницу WordPress в любые места.

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

Те возможности данного тега, которые я привел в статье далеко не единственные. wp_list_categories обладает еще целым рядом параметров.

  • параметрshow_option_all вырезает ссылки, т.е. он позволяет просто вывести список категорий вашего сайта без возможности перейти на страницу со статьями рубрик.
  • hide_empty— этот параметр позволяет выводить/не выводить в блоке рубрики, в которых еще не опубликовано ни одной статьи.
  • child_of— позволяет настраивать вывод подкатегорий одной или нескольких указанных категорий.
  • number— дает возможность указать, сколько рубрик выводить в блоке.

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

Кому интересно узнать о всех возможностях этого тега, можете поискать информацию в интернете. Я уверен, сайтов, которые до винтиков разбирают функцию wp_list_categories будет много.

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

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

Источник

get_categories() WP 2.1.0

Возвращает массив объектов содержащих информацию о категориях.

Параметры передаваемые этой функции очень похожи на параметры передаваемые функции wp_list_categories() и могут быть переданы как в виде массива, так и в виде строки запроса: type=post&order=DESC .

Хуки из функции

Возвращает

Массив . Массив объектов рубрик (категорий).

Шаблон использования

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

Аргументы передаваемые в $args

Полный список параметров и их значений смотрите в описании get_terms().

Тип категорий, которые будут получены.

  • post — категории для постов (по умолчанию);
  • link — разделы ссылок.
    По умолчанию: «post»

child_of(строка) Получить дочерние категории (включая все уровни вложенности), указанной категории. В параметре указывается ID родительской категории (категория, вложенные категории которой нужно показать). parent(число) Получает категории, родительская категория которых указана в этом параметре. Отличие от child_of в том, что будет показан один (только первый) уровень вложенности.
По умолчанию: » orderby(строка)

Сортировка полученных данных по определенным критериям. Например, по количеству постов в каждой категории или по названию категорий. Доступны следующие критерии:

  • id или term_id — по ID.
  • name — по названию. По умолчанию.
  • count — по полю count в term_taxonomy — по количеству записей.
  • slug — по альтернативному названию.
  • description — по описанию.
  • term_group — по группе.

parent — по полю parent.

  • include — по порядку указанному в параметре $include
  • slug__in — с версии 4.9. В порядке указанном в параметре $slug.
  • meta_value — по значению произвольного поля
  • meta_value_num — по значению произвольного поля, значение будет интерпретироваться как число, а не строка.
  • ключ «meta_query» — в параметре $meta_query мы можем указать параметры запроса по метаполям, и там же указать ключ для конкретного запроса. Этот ключ можно использовать как ключ для сортировки по соответствующему метаполю.
  • none — не сортировать
  • По умолчанию: «name»

    Направление сортировки, указанной в параметре «orderby»:

    • ASC — по порядку, от меньшего к большему (1, 2, 3; a, b, c);
    • DESC — в обратном порядке, от большего к меньшему (3, 2, 1; c, b, a).

    Получать или нет пустые категории (не имеющие записей):

    • 1 (true) — не получать пустые,
    • 0 (false) — получать пустые.

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

    hierarchical(логический) Если параметр установлен в true, то в результат будут включены пустые дочерние категории, дочерние категории которых имеют записи (непустые).
    По умолчанию: true exclude(строка/массив) Исключить какие-либо категории из списка. Нужно указывать ID категорий через запятую или в массиве. Если этот параметр указан, параметр child_of будет отменен.
    По умолчанию: » include(строка/массив) Вывести списком только указанные категории. Указывать нужно ID категорий через запятую или в массиве.
    По умолчанию: » number(число) Лимит. Число категорий, которые будут получены. По умолчанию без ограничений — будут получены все категории. pad_counts(логический) Если передать true, то число которое показывает количество записей в родительских категориях будет суммой своих записей и записей из дочерних категорий.
    По умолчанию: false

    Примеры

    #1 Выпадающий список

    Для того, чтобы создать выпадающий список из категорий мы можем воспользоваться другой специальной для этой цели, функцией wp_dropdown_categories() :

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

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

    #2 Список категорий и их описание

    Этот пример покажет нам как можно вывести списком ссылки на категории, где сразу после каждой ссылки будет идти описание категории (указывается при создании/редактировании категории):

    Источник

    wp_list_categories() — вывод категорий в виде списка

    Эта функция довольно часто используется в темах WordPress для создания меню. А так же с её помощью очень удобно выводить виджет со списком категорий в сайдбаре. Когда я говорю список, я имею ввиду HTML-список.

    Если же вам нужно вывести рубрики к текущей записи или к записи с указанным ID — воспользуйтесь функцией the_category() или get_the_category().

    А теперь рассмотрим простейший пример:

    Этот код выведет список категорий, отсортированных по имени. Вот как это будет выглядеть в HTML, самый обычный список со ссылками:

    Теперь добавим несколько параметров

    Оставляем сортировку по имени, но теперь категории будут выводиться не через
    -список, а просто в виде ссылок (каждая с новой строки), пустой параметр title_li означает, что не нужно добавлять заголовок. Вот, как это выглядит в HTML-коде:

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

    Сначала идёт присвоение значений массиву $args, а потом он просто указывается в скобках.

    Теперь посмотрим, какие ещё могут быть параметры у функции:

    show_option_all
    (строка) Нужно ли добавить ссылку на главную страницу? Можно указать любое значение, например ‘На главную’ — оно и будет анкором для ссылки.

    orderby
    (строка) Каким образом вы хотите отсортировать категории?

    • ID — по id категории (по умолчанию)
    • name — по имени
    • slug — по ярлыку
    • count — по числу записей

    order
    (строка) Устанавливает порядок сортировки.

    • asc — по возрастанию (по умолчанию)
    • desc — по убыванию

    style
    (строка) Стиль вывода списка категорий.

    • list — в виде
    • -списка (по умолчанию)
    • none — в виде ссылок, разделенных тегом

    show_count
    (логическое) Указывает в скобках количество постов в каждой из рубрик.

    hide_empty
    (логическое) Нужно ли исключить пустые рубрики (категории) из списка?

    use_desc_for_title
    (логическое) Нужно ли использовать описание рубрик в атрибуте title для ссылок, если оно имеется. (пример:

    • 1 — да (по умолчанию)
    • 0 — нет

    child_of
    (целое число) Нужно указать id рубрики, подрубрики которой вы хотите вывести.

    feed
    (строка) Рядом с каждой категорией вставляет ссылку на RSS-ленту. Указанное значение будет анкором этих ссылок.

    feed_image
    (строка) Аналогичен предыдущему параметру, но только вставляет ссылку с картинкой. В качестве значения укажите адрес картинки.

    feed_type
    (строка) Тип RSS-ленты.

    exclude
    (целое число) Перечислите через запятую id категорий, которые вы хотите исключить из списка.

    exclude_tree
    (целое число) Исключить рубрику и все её подрубрики из списка. Работает только при выключенном hierarchical.

    include
    (целое число) Укажите через запятую категории (их id), которые вы хотите включить в список.

    hierarchical
    (логическое) Нужно ли создавать вложенные списки для подкатегорий?

    title_li
    (строка) Заголовок для списка категорий. По умолчанию __( ‘Categories’ ). То есть в русском WordPress это будет переведено в «Рубрики». Оставьте параметр пустым, чтобы избавиться от заголовка.

    number
    (целое число) Сколько категорий нужно отобразить в списке?

    echo
    (логическое) Вывод списка категорий или сохранение результата в переменную.

    depth
    (целое число) Количество уровней вложенности списка.

    • 0 — неограниченно (по умолчанию)
    • -1 — без уровней вложенности, параметр hierarchical игнорируется
    • n — любое целое число

    taxonomy
    (строка) Выберите таксономию для вывода:

    • category — рубрики (по умолчанию)
    • taxonomy — любая зарегистрированная таксономия

    current_category
    (целое число) Укажите id категории из списка, для которой вы хотите добавить css-класс «current-cat». По умолчанию он добавляется к той категории, в которой в данный момент находится пользователь.

    Источник

    Оцените статью