WordPress как на ладони
wordpress jino

get_page_template_slug() WP 3.4.0

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

Работает на основе: get_post(), get_post_meta()

Хуков нет.

Возвращает

Строку/логическое: название файла шаблона. Возвращает пустую строку, если для страницы не установлен никакой шаблон. Вернет false если проверяется не постоянная страница, а запись.

Использование

$page_template_slug = get_page_template_slug( $post_id );
$post_id(число)
ID страницы, которую нужно проверить. По умолчанию: текущая запись в цикле (глобальной переменной $post).
По умолчанию: null

Примеры

#1 Выведем название шаблона текущей страницы

<?php echo get_page_template_slug( $post->ID ); ?>

Выведет:

file-name.php

Заметки

  1. Название файла шаблона располагается в произвольном поле _wp_page_template (таблица БД wp_postmeta). Если файл шаблона страницы расположен в подкаталоге родительской или дочерней темы, то значение wp_postmeta будет такое:

    подкаталог/file-name.php
  2. get_page_template_slug() вернет пустую строку если значение "_wp_page_template" пустая строка или "default".

  3. Произвольные поля начинающиеся с "_" не отображаются в админ-панели в блоке "произвольные поля". Такие названия считаются служебными в WordPress. Поэтому чтобы получить название, можно использовать:

    $template = get_post_meta( $post->ID, '_wp_page_template', true );

Код get page template slug: wp-includes/post-template.php WP 4.9

<?php
function get_page_template_slug( $post = null ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return false;
	}

	$template = get_post_meta( $post->ID, '_wp_page_template', true );

	if ( ! $template || 'default' == $template ) {
		return '';
	}

	return $template;
}

Cвязанные функции

Из раздела: Страницы

get_page_template_slug Комментариев нет

Здравствуйте, !

Ваш комментарий