Как получить имя файла, который используется для рендеринга текущей страницы? - PullRequest
6 голосов
/ 23 февраля 2012

Допустим, у меня есть установка WordPress со страницей под названием «О программе».Если я перейду к http://example.com/about, я узнаю на странице иерархии шаблонов WordPress, что смотрю на файл темы page.php.

Мне интересно, есть ли способ отобразить этот факт (для отладки тем) где-нибудь на странице?Например, какую функцию (или код) я бы вызвал для отображения текущей страницы PHP, которая используется для отображения страницы, на которую я смотрю.

Я мог бы что-то сделать с $_SERVER['PHP_SELF'], но я ищу способ, при котором мне не нужно редактировать каждый файл PHP.Как то, что выплевывает список файлов, которые он использует при вызове страниц.

Ответы [ 4 ]

4 голосов
/ 01 августа 2012

Он может быть напечатан в исходном коде Html следующим образом:

add_action( 'wp_head', 'so_9405896_show_template', 999 );

function so_9405896_show_template() {
    global $template;
    echo '
    <!--

    TEMPLATE = ' . basename($template) .'

    -->
    ';
}

Или для упрощения визуализации непосредственно в содержании с этим:

add_filter( 'the_content', 'so_9405896_the_content_filter', 20, 1 );

function so_9405896_the_content_filter( $content ) 
{
    if( is_admin() || !current_user_can( 'administrator' ) ) 
        return $content;

    global $template;
    $the_templ =  '<strong style="background-color: #CCC;padding:10px">TEMPLATE = ' 
                  . basename( $template ) . '</strong><br />';  

    $content = sprintf( $the_templ . '%s', $content );

    return $content;
}

Что приводит к:

output template name to content

0 голосов
/ 23 февраля 2012

Быстрый поиск в хранилище плагинов WordPress вызывает трассировку шаблона панели отладки WordPress .

0 голосов
/ 24 февраля 2012

Я просто вручную ввожу его в шаблон, например, ARCHIVE.PHP, CATEGORY-1.PHP, когда я его создаю.Просто не забудьте удалить его, как только сайт заработает.Просто и легко, если не так грациозно.

0 голосов
/ 23 февраля 2012

Насколько я видел, нет встроенной опции для включения такой регистрации, только для ошибок.

Я не уверен, какой редактор вы используете, но большинство обычных текстовых редакторов позволяют вам делатьнайти замену во всей папке.

Я бы предложил сделать временную замену для включений и требовать добавления эха PHP_SELF.Просто убедитесь, что добавили комментарий или что-то еще до эха, чтобы вы могли легко заменить их ничем, когда вы закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...