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