Функция page_template_dropdown() в WordPress предоставляет простой способ отображения выпадающего списка шаблонов страниц в административной панели, позволяя пользователям выбирать нужный шаблон для страниц.
page_template_dropdown() предназначена для вывода элементов <option> внутри поля <select>, отображающего все доступные шаблоны страниц для указанного типа записи. Используется исключительно в административной панели WordPress, и если требуется использовать её на фронтенде, необходимо подключить дополнительные файлы.
page_template_dropdown( $default = '', $post_type = 'page' );Параметры:
- $default(необязательный) — Имя файла шаблона, который должен быть выбран по умолчанию в выпадающем списке. Если не указано, по умолчанию выбрано первое доступное значение.
- $post_type(необязательный) — Тип записи, для которого необходимо получить шаблоны. С версии 4.7 можно указывать шаблоны для любых типов записей. По умолчанию используется- 'page'.
Возвращаемое значение:
Функция не возвращает значение. Вместо этого она выводит HTML-код для использования в поле <select>.
Функция работает на основе:
- get_page_templates()
Пример 1: Использование в административной панели
function my_custom_page_template_meta_box() {
    add_meta_box(
        'custom_page_template_meta_box', // ID метабокса
        'Выбор шаблона страницы', // Заголовок метабокса
        'render_custom_page_template_meta_box', // Функция для отображения содержимого
        'page', // Тип записи (в данном случае - страницы)
        'side', // Местоположение (боковая панель)
        'default' // Контекст
    );
}
add_action( 'add_meta_boxes', 'my_custom_page_template_meta_box' );
function render_custom_page_template_meta_box() {
    global $post;
    // Получаем текущий шаблон страницы
    $current_template = get_post_meta( $post->ID, '_wp_page_template', true );
    
    // Выводим выпадающий список шаблонов
    page_template_dropdown( $current_template );
}
Пример 2: Использование на фронтенде
Функция page_template_dropdown() обычно используется в административной панели. Для её использования на фронтенде необходимо подключить некоторые файлы (см пример):
<?php
// Подключаем необходимые файлы
require_once ABSPATH . '/wp-admin/includes/theme.php';
require_once ABSPATH . '/wp-admin/includes/template.php';
?>
<select name="page_template" id="page_template">
    <?php page_template_dropdown(); ?>
</select>Результат
При использовании функции page_template_dropdown() в административной панели или на фронтенде, вы получите HTML-код, который будет выглядеть следующим образом:
<select name="page_template" id="page_template">    
    <option value='template-about.php' >Страница Об Авторе</option>
    <option value='template-contact.php' >Страница Контакты</option>
</select>Примечания
- Функция page_template_dropdown()выводит HTML-код для выпадающего списка шаблонов страниц, а не возвращает его как строку.
- Для использования функции на фронтенде требуется подключение файлов theme.phpиtemplate.php, которые находятся в директории админ-панели WordPress.
Заключение
Функция page_template_dropdown() упрощает управление шаблонами страниц, предоставляя пользователям удобный интерфейс для выбора шаблона в административной панели WordPress.
