问题描述
当您激活 wordpress 主题时,找出要更改文件的文件总是很麻烦。任何想法如何简化事情?
但另一方面,考虑到 get_template_part 功能,这可能是不可能的。你说什么?
最佳解决方案
挂接到 template_include
上,设置一个全局注释由主题设置的模板,然后将该值读回到页脚或标题中,以查看为给定视图调用哪个模板。
我在 Get name of the current template file 之前谈过这个过滤器钩子,但是去抓住一个 copy of that code,并将它放在主题的 functions.php
文件中。
然后打开主题的 header.php
或 footer.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_debug
和 wp_savequeries
选项。默认情况下,这些选项处于禁用状态。
在进行任何更改之前,请注意以下几点:
- 不要在生产环境中做,除非网站不能满足很多流量。
- 完成调试后,请确保禁用网站的选项 (特别是 wp_savequeries 选项,因为它会影响性能) 。
进行更改:
- 通过 ftp 客户端打开
wp_config.php
文件。 - 搜索
wp_debug
选项。编辑到define( 'WP_DEBUG', true );
。如果该行不存在,请将其添加到该文件。 - 同样,编辑或添加行
define( 'SAVEQUERIES', true );
到文件。 - 保存。你准备好调试了
更多信息: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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。