1

我正在开发一个 21 岁主题的儿童主题。我需要在博客页面中进行一些自定义。我想在id = "primary". 如何发现哪个模板正在呈现页面?

4

1 回答 1

0

在您的子主题的functions.php.
如果您没有,请创建一个空的并仅使用php 开始标记( <?php)。

the_content这将在当前显示的主题和模板中打印。

看到主站点页面:子主题一个index.php

子主题 index.php

看到一个帖子:child theme don't have asingle.php

父主题single.php

使用过滤器向内容添加调试:检查评论
add_filter( 'the_content', 'so_13737534_print_template', 20 );

function so_13737534_print_template( $content ) 
{
    // $template value equals to:
    // /public_html/wp-content/themes/theme-name/template-name.php
    global $template;

    // Return normal content if seeing the backend 
    // or the user is not administrator
    if( is_admin() || !current_user_can( 'delete_plugins' ) )
        return $content;

    // Split the value and build the output html
    $split_path = explode( '/', $template );
    $total = count( $split_path ) - 1;
    $theme_and_template = $split_path[$total-1] . '/' . $split_path[$total];
    $print = '<strong style="font-size:1em;background-color:#FFFDBC;padding:8px">Current = ' . $theme_and_template . '</strong>';

    // Add our output before the_content
    $content = $print . $content;
    return $content;
}

同样可以在 中打印为 Html 注释<head>,使用:

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

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

    TEMPLATE = ' . $template . '

    -->
    ';
}
于 2012-12-06T13:14:20.863 回答