我创建了一个将用作主页的页面模板。 主页将包含三列,每列将包含具有特定meta_key值的页面摘录。
这个代码的工作原理,但每次都为每一列重复,只有不同的东西是meta_key的值。
我还是新手,所以我不确定分开包含PHP和HTML的代码的正确方法是什么?
答案 0 :(得分:2)
最后,您想要使用的是
你已经掌握了干 - 不要重复自己 - 原则。这是非常好的。如果你将来要改变某些东西,你不希望在多个地方改变同样的东西(这不方便)。因此,如果您在多个不同的模板文件中重复相同的操作,则可以使用get_template_part
。此函数使include()
过时。
您可以将代码粘贴到以元键作为参数的函数中。这将是一个非常巧妙的解决方案。这将非常方便。问题是,如果其他人阅读此模板,他们将无法立即知道该功能的外观,因为它是您自定义的东西,他们必须找到该功能才能弄明白。
所以也许你最好的选择是使用foreach循环:
foreach( array( 'meta_key1', 'meta_key2' ) as $key ) {
// Your code
}
如果代码不是太长并且主要是关于显示信息而不是处理它,那么这可能是一个很好的解决方案。但这仅在您要生成的输出相邻时才有效。否则你就不得不创建一个函数,在这种情况下你应该把它放在functions.php中。
如果代码执行大量信息处理,您应该将其放在functions.php中。模板文件用于显示内容,只有少量PHP经验的设计人员才能阅读。
(顺便说一句,包含PHP和HTML的函数没有错。所有模板标签基本上都是这样的函数.WordPress不鼓励真正严格的分离。)