问题描述
我正在使用 theme-check 插件来检查我的主题的错误和建议,我在主题文件如 header.php 和 index.php 中使用 get_template_part(),但在 functions.php 中我使用的是 include_once() theme-check 没有指向这些,它指向 include_once 在 widgets.php 文件中使用,该文件包含在 functions.php 中
我的问题是,我们应该使用 get_template_part() 而不是所有的 include_once() 和 include(),还是仅仅使用它来获得经常使用的标记?我知道只推荐使用 get_template_part(),但我喜欢遵循最佳做法和建议。
提前致谢。
最佳解决方案
您的 functions.php
不会创建输出,因此您应该使用 locate_template()
。
例:
locate_template( 'php/functions.nav-menu.php', TRUE, TRUE );
您将在 wp-includes/theme.php
中找到此功能。第一个参数是相对于主题根的文件路径,第二个参数是 WordPress 加载它 (或不是),第三个加载它只是一次。
现在,一个子主题可以通过将一个具有相同名称的文件放在自己的主题根目录中的相同位置来覆盖该文件。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。