page_template_dropdown()
Получает файлы шаблона для указанного типа записи и выводит их на экран в виде элементов <option> для select поля формы.
Функция рассчитана для работы в админ-панели. Если она нужна во фронте, нужно подключить файлы:
require_once ABSPATH . '/wp-admin/includes/theme.php'; require_once ABSPATH . '/wp-admin/includes/template.php';
Работает на основе: get_page_templates()
Хуков нет.
Возвращает
null
. Ничего. Выводит на экран HTML код для использования в <select>.
Использование
page_template_dropdown( $default, $post_type );
- $default(строка)
- Название файла шаблона который должен быть выбран в select.
По умолчанию: '' - $post_type(строка)
- Тип записи для которого нужно получить шаблоны. С версии 4.7. шаблоны можно указывать для любых типов записей.
По умолчанию: 'page'
Примеры
#1 Демонстрация работы
<?php // для фронта require_once ABSPATH . '/wp-admin/includes/theme.php'; require_once ABSPATH . '/wp-admin/includes/template.php'; ?> <select name="" id=""> <?php page_template_dropdown(); ?> </select> <?php
В результате получим такой HTML:
<select name="" id=""> <option value='page_tpl_custom.php' >Мой шаблон страницы</option> <option value='page_tpl_custom2.php' >Еще один шаблон страницы</option> </select>
Список изменений
С версии 1.5.0 | Введена. |
С версии 4.7.0 | Added the $post_type parameter. |
Код page_template_dropdown() page template dropdown WP 6.7.1
function page_template_dropdown( $default_template = '', $post_type = 'page' ) { $templates = get_page_templates( null, $post_type ); ksort( $templates ); foreach ( array_keys( $templates ) as $template ) { $selected = selected( $default_template, $templates[ $template ], false ); echo "\n\t<option value='" . esc_attr( $templates[ $template ] ) . "' $selected>" . esc_html( $template ) . '</option>'; } }