Меню

Вывести все подкатегории категории wordpress

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() WP 2.1

    Выводит список категорий в виде ссылок. Если перейти по ссылке, то будут показаны все посты из категории.

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

    Возвращает

    null|Строку|false . HTML код если echo=1 . Если echo=0 вернет HTML код в переменную для дальнейшей обработки.

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

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

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

    Кроме указанных ниже параметров может принимать параметры get_terms().

    • child_of (число)
    • current_category (строка/массив)
    • depth (число)
    • echo (логический)
    • exclude (строка)
    • exclude_tree (строка)
    • include (строка / массив)
    • hide_empty (логический)
    • hide_title_if_empty (логический)
    • hierarchical (логический)
    • order (строка)
    • orderby (строка)
    • separator (строка)
    • show_count (логический)
    • show_option_all (строка)
    • show_option_none (строка)
    • style (строка)
    • taxonomy (строка)
    • title_li (строка)
    • use_desc_for_title (логический)
    • number (число)
    • pad_counts (логический)
    • feed (логический)
    • feed_type (строка)
    • feed_image (строка)
    • walker (объект)

    child_of(число) Показать дочерние категории. В параметре указывается ID родительской категории (категория, вложенные категории которой нужно показать). current_category(строка/массив)

    ID категории или массив из ID. К которым нужно добавить класс current-cat (class=»current-cat»). Это нужно, чтобы подсветить категорию через CSS стили.

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

    С версии 4.4. в этот параметр можно передавать массив ID.
    По умолчанию: »

    Этот параметр контролирует глубину вложенности категорий, которые будут показаны. По умолчанию 0 — показывать все уровни вложенности (все дочерние категорий). С версии 2.5.

    • 0 — все уровни вложенности (По умолчанию);
    • -1 — показать все дочерние категории, но без вложенности li списков. Отменяет параметр hierarchical ;
    • 1 — показать только категории первого уровня (все виды вложенных категорий не будут показываться);
    • n — число — глубина вложенности которую нужно показывать. 2 — покажет категорий первого и второго уровня.

    меню echo(логический)

    Выводить на экран или возвращать для обработки.

    • 1 (true) — да, выводить на экран;
    • 0 (false) — нет, просто возвратить данные.

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

    Исключить категории из списка. Нужно указывать ID категорий через запятую.

    • Если этот параметр указан, параметр child_of будет отменен.
    • Если параметр heiararchical=true , то будет исключаться вся ветка. Если heiararchical=false , то для исключения ветки используйте параметр exclude_tree .

    exclude_tree(строка) Исключить дерево категорий из списка. Указывайте ID категорий через запятую. Параметр include должен быть пустым. Если параметр heirarchical=true , то используйте exclude вместо exclude_tree .
    По умолчанию: » include(строка / массив) Вывести списком только указанные категории. Список ID категорий проходит через wp_parse_id_list, поэтому можно указывать ID строкой через запятую или массивом.
    По умолчанию: » hide_empty(логический)

    Скрывать ли категории в которых нет записей?

    • 0 (false) — показывать пустые (не скрывать);
    • 1 (true) — не показывать пустые категории (скрывать).
    Читайте также:  Если не чистить кулер что будет

    hide_title_if_empty(логический) Нужно ли прятать $title_li если в списке нет элементов. С версии 4.4.
    По умолчанию: false (всегда будет показываться) hierarchical(логический)

    Показывать категории как дерево. Показывать вложенные (дочерние категории), как вложенный список.

    • 1 (true) — да, древовидный тип отображения;
    • 0 (false) — нет, показать сплошным типом.

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

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

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

    • ID — сортировка по ID;
    • name — сортировка по названию (по умолчанию);
    • slug — сортировка по алт. имени (slug);
    • count — по количеству записей в категории;
    • term_group — по группе.

    По умолчанию: ‘name’

    separator(строка) Разделитель между элементами. С версии 4.4.
    По умолчанию: ‘
    show_count(логический)

    Показывать/нет количество записей в категории. Число записей будет показано после названия категории в скобках (например, Психология (16)).

    • 1 (true) — показывать количество записей;
    • 0 (false) — не показывать количество записей.

    show_option_all(строка)

    Текст для отображения всех категорий.

    Если передать не пустую строку, например ‘Все категории’ , то в список будет добавлена ссылка на все категории (часто это ссылка на главную страницу блога). Текстом ссылки станет текст переданный параметру, в данном случае Все категории .
    По умолчанию: »

    show_option_none(строка) Если функция не нашла ни одной категории для показа, то будет показан этот текст.
    По умолчанию: ‘Нет рубрик’ style(строка)

    Стиль вывода списка.

    • list — означает, что нужно выводить списком в теге
    • , вложенность категорий будет соблюдена.
    • none — будут выведены только ссылки на категории ( ) разделенные тегом
      .

    По умолчанию: ‘list’

    taxonomy(строка) Название таксономии, которую нужно обрабатывать.
    По умолчанию: ‘category’ title_li(строка) Установить заголовок списка. Если изменить этот параметр на » ( title_li= ), то заголовок не будет выводиться вовсе.
    По умолчанию: ‘Категории’ use_desc_for_title(логический)

    Вставлять ли описание категории в атрибут title у ссылки ( ):

    • 1 (true) — да, вставлять описание в title, если оно есть;
    • 0 (false) — нет, не использовать описание (будет: Посмотреть все записи в рубрике «название категории»).

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

    number(число) Установить максимальное количество отображаемых категорий (SQL LIMIT). По умолчанию выводится без ограничений.
    По умолчанию: » pad_counts(логический) Считать общее количество постов во вложенных категориях и показывать это число рядом с родительской категорией. Параметр включается автоматически при включенных show_count и hierarchical .
    По умолчанию: 0 (false) feed(логический) Показать ли рядом с названием ссылку на RSS фид (rrs-2) категории. Текст переданный в этом параметре станет текстом ссылки.
    По умолчанию: » feed_type(строка) Тип фида
    По умолчанию: ‘rss-2’ feed_image(строка) Показать ли рядом с названием ссылку-картинку на RSS фид (rrs-2) категории. В параметре нужно указать ссылку на картинку. Если этот параметр указан, параметр $feed будет отменен.
    По умолчанию: » walker(объект) Расширение объекта (класса), который предназначен для создание списка категорий. Передаваемый параметру объект — это расширение для класса Walker_Category или Walker .
    По умолчанию: ‘Walker_Category’

    Примеры

    #1 Сортировка по алфавиту

    Для того, чтобы отсортировать категории по алфавиту (orderby=name) и включить в список только категории с ID равными 16, 3, 9 и 5 (include=3,5,9,16), можно использовать следующий код:

    Читайте также:  Как вывести филлеры с лица

    #2 Сортировка по названию

    Следующий пример сортирует категории по названию ( orderby=name ), показывает количество записей в каждой категории ( show_count=1 ) и исключает из списка категорию с ID 10 ( exclude=10 ):

    #3 Уберем заголовок списка категорий

    С помощью обнуления параметра title_li . По умолчанию этот параметр равен __(‘Categories’) , если установить его в null или » , заголовок списка не будет показан вообще. Следующий пример исключает категории 4 и 7, и убирает заголовок списка категорий:

    #4 Выводим только указанные рубрики

    Этот пример покажет список только из категорий с ID 9, 5 и 23, и изменит заголовок списка на Поэзия , который будет заключен в теги

    #5 Выведем только дочерние категории

    Для того, чтобы вывести только категории вложенные в категорию 8 (child_of=8) и отсортировать их по ID (orderby=id), так же показать количество записей в каждой категории (show_count=1) и убрать из атрибута title описание категорий (use_desc_for_title=0) используйте следующий вызов функции wp_list_categories :

    #6 Удалим скобки, в которые обрамляется количество записей в каждой категории

    Для этого получим список категорий в переменную (echo=0) и пропустим её через php функцию str_replace() , которая удалит скобки:

    #7 Покажем список категорий со ссылкой на RSS-ленту

    Для этого используем параметр feed=RSS , так же в этом примере список будет отсортирован по названию категорий (orderby=name) и у каждой категории будет показано количество записей (show_count=1):

    #7.1 Если нужно показать ссылку-картинку вместо текста ссылки RSS фида, то используем параметр feed_image :

    #8 Выводим список произвольной (пользовательской) таксономии

    С версии 3.0 стало возможно выводить списки произвольных таксономий через параметр taxonomy . Так же в этом примере показывается как передавать параметры не строкой, а массивом:

    #9 CSS классы для стилизации li списка

    CSS Классы создается автоматически функцией wp_list_categories() . Начальное обрамление (в тег ul) задается произвольно, поэтому класс списку можно задать произвольный. А для li тега используются следующие css классы:

    Заметки

    Добавленные параметры в разных версиях:

    • 2.3.0 — echo
    • 2.5.0 — depth
    • 2.6.0 — current_category
    • 2.7.1 — exclude_tree
    • 2.9 — pad_counts
    • 3.0 — taxonomy
    • 4.4 — hide_title_if_empty и separator . current_category стал не обязательным

    Источник