page_template_dropdown

Получает файлы шаблона для указанного типа записи и выводит их на экран в виде элементов <option> для select поля формы.

Функция рассчитана для работы в админ-панели. Если она нужна во фронте, нужно подключить файлы:

require_once ABSPATH . '/wp-admin/includes/theme.php';
require_once ABSPATH . '/wp-admin/includes/template.php';

Хуков нет.

Возвращает

Ничего. Выводит на экран 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>

Код из


wp-admin/includes/template.php

WP 4.7.2

<?php
function page_template_dropdown( $default = '', $post_type = 'page' ) {
	$templates = get_page_templates( null, $post_type );
	ksort( $templates );
	foreach ( array_keys( $templates ) as $template ) {
		$selected = selected( $default, $templates[ $template ], false );
		echo "nt<option value='" . $templates[ $template ] . "' $selected>$template</option>";
	}
}