WP Dropdown Categories: вывод категорий в виде выпадающего меню

# wp_dropdown_categories() │ WP 2.1.0

Функция wp_dropdown_categories() выводит или возвращает HTML-список категорий в виде выпадающего меню. Вместо категорий вы также можете указать название пользовательской таксономии.

## Параметры функции

Аргумент 'hierarchical' по умолчанию отключен и переопределяет аргумент 'depth', если он установлен в значение true. Если же этот аргумент отключен (т.е. установлен в значение false), то будут отображены все категории. При включении будет использовано значение аргумента 'depth'.

## Хуки функции

- list_cats
- wp_dropdown_cats

## Возвращаемое значение

Строка. HTML-код выпадающего списка категорий (<select>).

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

Вот пример того, как можно использовать wp_dropdown_categories():

```php
$args = array(
    'show_option_all'    => '',
    'show_option_none'   => '',
    'option_none_value'  => -1,
    'orderby'            => 'ID',
    'order'              => 'ASC',
    'show_last_update'   => 0,
    'show_count'         => 0,
    'hide_empty'         => 1,
    'child_of'           => 0,
    'exclude'            => '',
    'echo'               => 1,
    'selected'           => 0,
    'hierarchical'       => 0,
    'name'               => 'cat',
    'id'                 => 'name',
    'class'              => 'postform',
    'depth'              => 0,
    'tab_index'          => 0,
    'taxonomy'           => 'category',
    'hide_if_empty'      => false,
    'value_field'        => 'term_id', // поле для значение параметра option
    'required'           => false,
);

wp_dropdown_categories( $args );

Параметры

Вы также можете указать дополнительные параметры, как в функции get_terms():

  • $args(array|string): Массив или строка аргументов для генерации элемента выпадающего меню категорий. Подробности смотрите в WP_Term_Query::__construct().

Основные параметры

  • show_option_all (string): Текст для отображения всех категорий.
  • show_option_none (string): Текст для отображения без категорий.
  • option_none_value (string): Значение, которое будет использовано, если категория не выбрана.
  • orderby (string): Какой столбец использовать для сортировки категорий.
  • order (string): Направление сортировки, например ASC для сортировки по возрастанию.
  • show_count (true|false|int): Включить или исключить количество записей в категории.
  • echo (true|false|int): Нужно ли выводить или возвращать сгенерированный HTML-код. По умолчанию — 1.
  • hierarchical (true|false|int): Нужно ли идти по иерархии таксономий.
  • depth (int): Максимальная глубина.
  • name (string): Значение для атрибута 'name' элемента <select>.
  • class (string): Значение для атрибута 'class' элемента <select>.
  • taxonomy (string|array): Название или названия таксономии для получения.
  • hide_if_empty (true|false): Пропустить генерацию разметки, если категории не найдены.
  • required (true|false): Нужно ли элементу <select> иметь атрибут HTML5 'required'.

Примеры использования

Пример 1: Выпадающий список с кнопкой отправки

Категории:

Пример 2: Выпадающий список JavaScript (без кнопки отправки)

Категории:

Пример 3: Выпадающий список с использованием JavaScript (без кнопки отправки)

]*)>#", "

Пример 4: Добавление параметра множественного выбора

add_filter('wp_dropdown_cats', 'willy_wp_dropdown_cats_multiple', 10, 2);
function willy_wp_dropdown_cats_multiple($output, $r) {
    if (!empty($r['multiple'])) {
        $output = preg_replace('//i', '