问题描述

当您激活 wordpress 主题时,找出要更改文件的文件总是很麻烦。任何想法如何简化事情?

但另一方面,考虑到 get_template_part 功能,这可能是不可能的。你说什么?

最佳解决方案

挂接到 template_include 上,设置一个全局注释由主题设置的模板,然后将该值读回到页脚或标题中,以查看为给定视图调用哪个模板。

我在 Get name of the current template file 之前谈过这个过滤器钩子,但是去抓住一个 copy of that code,并将它放在主题的 functions.php 文件中。

然后打开主题的 header.phpfooter.php(或任何你喜欢的地方),并使用类似以下内容打印出当前模板。

<div><strong>Current template:</strong> <?php get_current_template( true ); ?></div>

如果您想在生产站点上使用此功能,并将该信息与 non-administrator 用户保持一致,请添加一些条件逻辑。

<?php 
// If the current user can manage options(ie. an admin)
if( current_user_can( 'manage_options' ) ) 
    // Print the saved global 
    printf( '<div><strong>Current template:</strong> %s</div>', get_current_template() ); 
?>

现在,您可以跟踪使用什么模板的视图,同时将该信息与访问者保持一致。

次佳解决方案

那么,如果你想要的是检查哪个模板文件被用来生成当前的页面,那么你不需要用你的手弄脏代码;)

有这个方便的插件叫做 Debug Bar 。在许多情况下,这是一个很好的帮手,包括你的帮助。你一定要检查一下 – 对于我和许多其他人来说,它是一个 must-have 伴侣,用于任何 WP 开发。

我附上了一个可以让你爱上的屏幕截图

要使调试栏工作,您需要启用 wp_debugwp_savequeries 选项。默认情况下,这些选项处于禁用状态。

在进行任何更改之前,请注意以下几点:

  • 不要在生产环境中做,除非网站不能满足很多流量。
  • 完成调试后,请确保禁用网站的选项 (特别是 wp_savequeries 选项,因为它会影响性能) 。

进行更改:

  1. 通过 ftp 客户端打开 wp_config.php 文件。
  2. 搜索 wp_debug 选项。编辑到 define( 'WP_DEBUG', true ); 。如果该行不存在,请将其添加到该文件。
  3. 同样,编辑或添加行 define( 'SAVEQUERIES', true ); 到文件。
  4. 保存。你准备好调试了

更多信息:Codex

第三种解决方案

在每个相关模板文件中的 get_header 行之后添加以下代码:

<!-- <?php echo basename( __FILE__ ); ?> -->

在您的浏览器> 查看源代码,模板名称将作为您的 HTML 代码中的注释显示。

<!-- page.php -->

第四种方案

我使用这个方便的功能,只显示超级管理员的当前模板:

function show_template() {
    if( is_super_admin() ){
        global $template;
        print_r($template);
    } 
}
add_action('wp_footer', 'show_template');

希望有帮助。 🙂

第五种方案

我发现的最简单的方法是将 WordPress 功能包含在 body 标签上。它将根据您正在查看的页面 (前面的页面,页面的页面等) 添加几个类。

在这里查看:http://codex.wordpress.org/Function_Reference/body_class

此外,它有助于在这些页面上使用 CSS 定位元素。

了解 David R 所提到的模板层次结构 (http://codex.wordpress.org/Template_Hierarchy) 也是一个好主意。

第六种方案

还有另外一个专门用于此目的的 bare-bones 插件。我倾向于安装调试栏,因为这些其他功能看起来很有用,但是这一个更为基础,特别是为此目的:http://wordpress.org/extend/plugins/what-the-file/

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。