2012-02-23 3 views
4

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

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

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

ответ

2

Он может быть напечатан в исходном коде сайтов, как это:

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

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

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

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

0

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

+0

Так было я, мне было интересно, есть ли способ программно вывести его где-нибудь, чтобы я мог найти страницу без необходимости открывать и открывать каждый файл и вводить его. – Jason

Смежные вопросы