当您不是管理员时,如何确定加载的模板?

时间:2016-01-02 作者:LeonardShelby

我有一个页面,它根据我登录的用户类型的不同而显示不同,我不知道为什么。具体来说,如果我以管理员身份登录,则页面显示一种方式,但如果我以非管理员的任何其他类型的用户身份登录,则页面显示另一种方式。我曾尝试使用一个名为Query Monitor的插件,它可以让我查看用于显示页面的模板,但它的信息只有在我以管理员身份登录时才可见。因此,如果我以非管理员用户身份登录,我看不到正在加载哪个模板文件。当一个人没有以管理员身份登录时,是否有办法确定使用哪个模板文件来显示页面?

3 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

查看页面生成的源代码(在浏览器中查看源代码)。查找body 标记并查看类。如果你的主题做得正确,你应该看到与模板相关的标签。它们很明显,但仅供参考:http://codex.wordpress.org/Function_Reference/body_class

SO网友:Ján Bočínec

我建议使用这个插件Reveal Template https://wordpress.org/plugins/reveal-template/

备选方案:显示当前模板https://wordpress.org/plugins/show-current-template/

或者您可以使用此代码段(https://gist.github.com/wokamoto/4553528):

add_action(\'wp_footer\', \'view_template_files\');
if ( !function_exists( \'view_template_files\' ) ):
function view_template_files() {
    if ( defined(\'WP_DEBUG\') && WP_DEBUG ) {
        global $template;
        $template_name = basename( $template, \'.php\' );
        $template_dir  = basename ( dirname( $template ) );
        $style_top = ( is_admin_bar_showing() ) ? "35px" : "0px";
        echo \'<code style="position: fixed; top: \' . $style_top . \'; right: 10px; z-index: 9999; background-color: rgba(255, 255, 255, 0.5); padding: 10px; color: #000000; border: solid 2px #000000; ">\';
        echo "テーマのディレクトリ名:" . $template_dir;
        echo " テンプレートファイル名:" . $template_name;
        echo "</code>\\n";
    }
}
endif;
正如你所见,你必须WP_DEBUG 已定义常量。

SO网友:prosti

您可以使用插件:“显示当前模板”https://wordpress.org/plugins/show-current-template/ 或“调试栏”https://wordpress.org/plugins/debug-bar/

相关推荐