Печать имени файла (ов) шаблона WordPress для отладки

Я взял на себя обслуживание большого сайта с WP-MS. На сайте имеется ~ 200 шаблонов, множество специальных страниц и без стандартной процедуры именования.

Это сэкономит много времени, если во время серфинга по сайту я могу увидеть имена шаблонов, которые составляют текущую страницу. Это возможно? Я рассмотрел отладочные плагины для WordPress, но они отображаются в отношении переменных и SQL-запросов, а не шаблонов.

Solutions Collecting From Web of "Печать имени файла (ов) шаблона WordPress для отладки"

это также быстрый способ;

<!-- <?php print_r( debug_backtrace() ) ?> --> 

вставьте его непосредственно перед закрывающим тегом

Следующие функции выполняют 3 вещи:

  • Показывать иерархию шаблонов для текущего запроса
  • Покажите тему в использовании (2 способа добиться этого)
  • Показывать текущий шаблон, используемый для запроса *)

*) Прикрепите его к фильтру содержимого. Возможно, вам придется играть с условными или возможностями в зависимости от вашей роли. До сих пор я не знаю решения, показывающего шаблон страницы для архивов и подобных запросов на просмотр списка.

 // That's not that easy to read: var_dump( get_required_files() ); /** * Show template hierarchy and theme at the end of the request/page. * @return void */ function wpse31909_template_info() { // Don't display for non-admin users if ( ! current_user_can( 'manage_options' ) ) return; // You have to build yourself the hierarchy here or somewhere in front of the fn global $wp_template_hierarchy; $content = '<pre>'; // Show template hierarchy $content .= "TEMPLATE HIERARCHY\n==================\n"; $content .= var_export( $wp_template_hierarchy, true ); // Show current theme in use: $content .= "\n\nCURRENT THEME\n=============\n"; $content .= var_export( get_option( 'template' ), true ); // or: # $content .= var_export( get_template(), true ); $content .= '</pre>'; return print $content; } add_action( 'shutdown', 'wpse31909_template_info' ); /** * Show template on singular views attached to the end of the content for admins * @return $content */ function wpse31909_template_to_content( $content ) { // Display standard content for non-admin users and not single post/page/cpt/attachment view. if ( ! current_user_can( 'manage_options' ) && ! is_singular() ) return $content; $content .= '<pre>'; // Show current template in use: Must be in the loop to get the global $post $content .= var_export( get_post_meta( $GLOBALS['post']->ID, '_wp_page_template' ), true ); $content .= '</pre>'; return $content; } add_filter( 'the_content', 'wpse31909_template_to_content' ); 

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

 // Для отладки - показать файл шаблона
 add_action ('wp_head', 'show_template');
 function show_template () {
     глобальный шаблон $;
     print_r ($ шаблон);
 }

В то же время не следует прямо отвечать на поставленный вопрос, следует также отметить, что по умолчанию WordPress добавляет имя класса в <body> для пользовательских шаблонов страниц. Например, если вы просматриваете страницу с настраиваемым шаблоном страницы, а имя файла шаблона – custom.php, то в тег <body> будет добавлено имя класса page-template-custom .

Документацию по этой функции можно найти здесь: https://codex.wordpress.org/Function_Reference/body_class#Page