get_page_templates

Получает все существующие шаблоны постоянных страниц текущей темы (активной темы).

Функция просматривает все файлы темы на наличие строки Template Name: Название шаблона.

Для работы во фронте, нужно подключить файл:

require_once ABSPATH . '/wp-admin/includes/theme.php';
Вместо этой функции иногда удобнее использовать конструкцию wp_get_theme()->get_page_templates(). Тогда нет необходимости подключать файл.

Однако, возвращаемый массив отличается – в нем перевернуты ключи и значения. В ключе будет название файла, а в значении название шаблона. См. пример 2.

Хуков нет.

Возвращает

Массив. Ключи массива – это названия шаблона страницы, а значения – называния php файла:

$templates = get_page_templates();
$post(WP_Post/null)
Страница, которая редактируется. Обычно этот параметр не указывается.
По умолчанию: null
$post_type(строка)
Тип записи, шаблоны для которого нужно получить. С версии 4.7.
По умолчанию: ‘page’

Примеры

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

$templates = wp_get_theme()->get_page_templates();
print_r( $templates );

/* Вернет:
Array
(
	[my-custom-page.php] => Мой шаблон постоянной страницы
	[my-page-templates/my-second-page.php] => Еще один шаблон для постоянной страницы
)
*/

Как видите здесь ключ – название файла, а значение – название шаблона.

Код из


wp-admin/includes/theme.php

WP 4.7.2

<?php
function get_page_templates( $post = null, $post_type = 'page' ) {
	return array_flip( wp_get_theme()->get_page_templates( $post, $post_type ) );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *