WP_DROPDOWN_PAGES() для создания выпадающего списка страниц – WP 2.1.0

WP_DROPDOWN_PAGES() │ WP 2.1.0

Функция WP_DROPDOWN_PAGES() позволяет получить или отобразить список страниц в виде выпадающего списка (select).

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

Вызывается с помощью: wp_dropdown_pages($args);

Параметры (args)

Параметры в виде массива или строки, которые помогают сгенерировать выпадающий список страниц. Смотрите функцию get_pages() для дополнительных настроек.

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

  • depth (int) — Максимальная глубина иерархии страниц.
  • child_of (int) — ID родительской страницы для получения дочерних страниц.
  • selected (int|string) — Значение опции, которая должна быть выбрана.
  • echo (true|false|int) — Нужно ли выводить сгенерированный код или вернуть его. Принимает значения 0, 1 или их логические эквиваленты. По умолчанию: 1
  • name (string) — Значение для атрибута 'name' элемента select. По умолчанию: 'page_id'
  • id (string) — Значение для атрибута 'id' элемента select.
  • class (string) — Значение для атрибута 'class' элемента select. По умолчанию используется значение из $name. По умолчанию: none
  • show_option_none (string) — Текст для отображения, если страниц нет. По умолчанию: пусто (не отображает).
  • show_option_no_change (string) — Текст для отображения опции "без изменений". По умолчанию: пусто (не отображает).
  • option_none_value (string) — Значение, которое используется, если страница не выбрана. По умолчанию: ''
  • value_field (string) — Поле записи, используемое для заполнения атрибута 'value' элементов опций. Принимает любое действительное поле записи. По умолчанию: 'ID'.

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

Простой выпадающий список

Это создаст выпадающий список со всеми страницами:

Выпадающий список страниц с кнопкой отправки

Создание формы с выпадающим списком и кнопкой:

  • Множественный выбор в выпадающем списке

    Если вам нужно сделать множественный выбор страниц, используйте следующий код:

    add_filter('wp_dropdown_pages', 'wporg_domain_make_multiple_select_pages');
    
    function wporg_domain_make_multiple_select_pages($output) {
        return str_replace('n";
    
        if ( $parsed_args['show_option_no_change'] ) {
            $output .= "tn";
        }
    
        if ( $parsed_args['show_option_none'] ) {
            $output .= "tn";
        }
    
        $output .= walk_page_dropdown_tree( $pages, $parsed_args['depth'], $parsed_args );
        $output .= "n";
    }
    
    $html = apply_filters('wp_dropdown_pages', $output, $parsed_args, $pages);
    
    if ($parsed_args['echo']) {
        echo $html;
    }
    
    return $html;

    }

    Leave a Reply

    Ваш адрес email не будет опубликован. Обязательные поля помечены *