page_template_dropdown()
Отримує файли шаблону для зазначеного типу запису та виводить їх на екран у вигляді елементів <option> для select поля форми.
Функція розрахована для роботи на адмін-панелі. Якщо вона потрібна у фронті, потрібно підключити файли:
require_once ABSPATH. '/wp-admin/includes/theme.php'; require_once ABSPATH. '/wp-admin/includes/template.php';
Працює на основі:
get_page_templates()
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 $post_type parameter. |
Код page_template_dropdown() page template dropdown WP 6.0.2
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 "nt<option value='" . esc_attr($templates[$template]). "$selected>" . esc_html($template). '</option>'; } }