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 или их логические эквиваленты. По умолчанию: 1name (string)— Значение для атрибута 'name' элемента select. По умолчанию: 'page_id'id (string)— Значение для атрибута 'id' элемента select.class (string)— Значение для атрибута 'class' элемента select. По умолчанию используется значение из$name. По умолчанию: noneshow_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('
Заметки
- За дополнительной информацией смотрите функцию
get_pages().
Изменения
- С версии 2.1.0 — введена функция.
- С версии 4.2.0 — добавлен аргумент
$value_field. - С версии 4.3.0 — добавлен аргумент
$class.
Код функции
Вот как выглядит код функции wp_dropdown_pages():
function wp_dropdown_pages( $args = '' ) {
$defaults = array(
'depth' => 0,
'child_of' => 0,
'selected' => 0,
'echo' => 1,
'name' => 'page_id',
'id' => '',
'class' => '',
'show_option_none' => '',
'show_option_no_change' => '',
'option_none_value' => '',
'value_field' => 'ID',
);
$parsed_args = wp_parse_args( $args, $defaults );
$pages = get_pages( $parsed_args );
$output = '';
if ( empty( $parsed_args['id'] ) ) {
$parsed_args['id'] = $parsed_args['name'];
}
if ( ! empty( $pages ) ) {
$class = ! empty( $parsed_args['class'] ) ? " class='" . esc_attr( $parsed_args['class'] ) . "'" : '';
$output = "n";
}
$html = apply_filters('wp_dropdown_pages', $output, $parsed_args, $pages);
if ($parsed_args['echo']) {
echo $html;
}
return $html;
}