在什么情况下,GET_TEMPLATE_PART()比简单使用template.php文件更可取?

时间:2011-05-06 作者:Tom Auger

在里面this post on wordpress.stackexchange.com 我问过,如第二十个主题所示,使用get\\u template\\u part()是否是推荐的最佳实践。我得到的普遍共识是,这不一定是所有情况下的最佳做法。

然后,这个相关的问题是:你能给我举个例子,在哪里使用get\\u template\\u part()将是推荐的方法,而不是简单地定义单独的模板。php文件?

例如,我可以定义归档。php,单个。php和页面。php;或者我可以定义循环存档。php,循环单一。php和循环页面。php。

在什么情况下,最好使用get\\u template\\u part(\'loop\',\'single\')和leverage loop single。php与简单定义单个。php?

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

推荐的使用方法get_template_part 将用于包含在所有模板中频繁重复的代码位。就像在循环中定义了要包含在存档中的条件一样。php,搜索。php,单个。php等。

它还允许子主题覆盖该文件并包含其他更具体的文件。例如,如果您使用get_template_part( \'loop\', \'single\' ) 而您的主题只有一个名为loop的文件。然后,子主题可以包含一个名为loop single的文件。重写循环的php。php。

它基本上是一个自定义的包含标签,用于除页眉、侧栏或页脚之外的模板文件。

SO网友:mfields

我觉得没有任何合理的理由不使用get\\u模板部分。在它出现之前,WordPress主题中充斥着重复的代码,进行更大的修改非常耗时且容易混淆。拥有一个始终用于显示帖子的循环文件对于子主题和那些希望;叉子“;主题。如果您查看2011主题(目前正在开发)的代码,您将看到模板部分也已扩展为post格式。您还会注意到;“循环”;已从模板中删除并放置在调用模板中。我认为这是将模板部分用于帖子内容的最佳方法,并且比210灵活得多。

您知道其他模板的行为与get\\u template\\u part()几乎相同吗?

我觉得家长主题越灵活越好!

SO网友:kaiser

get_template_part() 如果在多个模板中使用该代码,则应使用(imho)。例如,标题、导航菜单或侧栏。

如果模板与其他模板在多行上不同,则应使用模板(imho-再次)。

我个人只使用一个简单的索引。包含条件标记的php,用于在我的小型基本主题中加载特定于查询的模板部分。在更大的主题中,我的索引中只有挂钩。php文件和挂钩在我的模板中是有条件的(但设置要复杂得多-大多是cms的东西)。

SO网友:John P Bloch

基于凯撒的回答,get_template_part() 对于重复代码很有用。例如,大多数主模板部件可能有一个非常相似的循环。将该循环放入名为loop.php 和呼叫get_template_part(\'loop\'); 也就是说,下次您想要更改站点循环中的代码时,您可以在一个地方更改一次,而不是在十几个左右的模板文件中更改十几次。

这是get_template_part(). 另一个,也是更重要的一个,在我看来,是它与父母/孩子主题很好地结合。使用loop.php 再举一个例子,如果您有一个子主题,并且希望修改子主题中的循环代码,但不想更改模板的其余部分,则只需重写该子主题即可loop.php 文件,而不是十几个左右的其他模板文件。

结束

相关推荐