我们应该在函数文件中使用get_template_part()而不是include_once吗?


10

我正在使用theme-check插件来检查我的主题是否有错误和建议,我在诸如header.php和index.php之类的主题文件中使用get_template_part(),但在functions.php中,我正在使用include_once()theme-检查不是指向这些,而是​​指向在functions.php中包含的widgets.php文件中使用的include_once

我的问题是我们应该使用get_template_part()而不是所有include_once()和include()还是仅将其用于获取频繁使用的标记?我知道只建议使用get_template_part(),但我想遵循最佳实践和建议。

提前致谢。


查看一些核心贡献者和其他WP专家的插件代码,get_template_part()尽管看起来似乎没有错,但我从未见过使用这种方式。但是,该功能的重点是重用部分代码,这与将其与一次包含一个文件的需求区分开来。我有兴趣看看其他人对此有何评论。
2012年

这些是建议,如果您不包括模板部分,则使用include_once()更简单。
Mamaduka

Answers:


4

functions.php不会创建输出,因此应使用locate_template()

例:

locate_template( 'php/functions.nav-menu.php', TRUE, TRUE );

您可以在中找到此功能wp-includes/theme.php。第一个参数是相对于主题根目录的文件路径,第二个参数告诉WordPress 加载(或不加载),第三个参数仅加载一次

现在,通过将具有相同名称的文件放在其自己的主题根目录中的相同位置,子主题可以覆盖文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.