2013-03-01 83 views
1

我已经创建了一个将用作主页的页面模板。 首页将包含三列,每列将具有特定meta_key值的页面摘录。如何在Wordpress页面模板中重用代码?

这个工作的代码,但它每次重复每列,唯一不同的是meta_key的值。

我对此仍然陌生,所以我不确定什么是分离包含PHP和HTML的代码的正确方法?

  • 通过使用PHP include语句?
  • 通过在functions.php中创建一个包含该代码的函数?
  • 通过使用Wordpress get_template_part函数?
  • 还有别的吗?

回答

2

最后,你想用什么将是什么

  1. 容易理解别人
  2. 方便你

你已经掌握了干 - 不要重复自己 - 原则。这是非常好的。如果你将来需要改变某些东西,你不希望在多个地方改变同一个东西(这很不方便)。所以如果你在几个不同的模板文件中重复同样的事情,你可以使用get_template_part。此功能会使include()过时。

您可以将代码粘贴到一个函数中,该函数将元键作为参数。这将是一个非常好的解决方案。这将非常方便。问题是,如果有人阅读这个模板,他们将不会立即知道该函数的外观,因为它是你自定义的东西,他们必须找到这个函数才能找到它。

因此,也许最好的办法是使用foreach循环:

foreach(array('meta_key1', 'meta_key2') as $key) { 
// Your code 
} 

如果代码不是太长,主要是关于信息显示与其说处理它,这可能是一个很好的解决方案。但是这只适用于你想要生成的输出是相邻的。否则,你不得不创建一个函数,在这种情况下,你应该把它放在functions.php中。

如果代码做了大量的信息处理,你应该把它放在functions.php中。模板文件用于显示内容,并且只需要一点PHP经验即可让设计人员阅读。

(顺便说一句,包含PHP和HTML的函数都没有错,所有的模板标签本质上都是这样的功能,WordPress并不鼓励真正严格的分离。)

相关问题