创建同一模板的多个版本的最有效方法是什么?

时间:2014-05-19 作者:Zach Russell

我目前正在构建WordPress主题,使用户可以选择为同一模板选择不同的布局。这将主要涉及主页和博客页面。我认为这是一个具有多个主页布局的大型商业主题。我从经验中知道,这些主题可能非常臃肿,加载速度非常慢。创建同一模板的多个版本的最佳方法是什么?

我应该使用template_include (link)?

2 个回复
最合适的回答,由SO网友:aj-adl 整理而成

效率可能意味着很多不同的事情,作为一名开发人员,您是否意味着高效(最少的代码行?)或对用户有效(加载最快的等)。

在任何情况下,template\\u都会在WordPress确定应该加载哪个模板之后,但在加载之前引发火灾,因此WP已经完成了确定适当模板的“工作”,然后您可以添加函数以将其带向另一个方向。取决于你想要实现的目标,你的境况也会更好。。

使用内置页面模板系统-http://codex.wordpress.org/Page_Templates

基本上是米洛在这里提到的

为了提供更大的灵活性,您可以使用创建“父”模板并调用子部分get_template_part() basedoff条件变量(如主题选项、当前页面等)虽然您可以使用模板过滤器执行相同的操作并加载一个全新的模板,但您可能只需要更改模板的某些部分,因此使用get\\u template\\u part()加载这些部分允许更多地重用代码等

SO网友:Milo

我会使用模板过滤器,但请注意,对于每种类型的模板,都有更具体的模板过滤器,从而使您的代码可能更简洁:

index_template
404_template
archive_template
author_template
category_template
tag_template
taxonomy_template
date_template
home_template
front_page_template
page_template
paged_template
search_template
single_template
text_template, plain_template, text_plain_template (all mime types)
attachment_template
comments_popup
发件人Template Hierarchy: Filter Hierarchy

结束

相关推荐

Custom post types templates

我已经注册了一个名为“Services”的自定义帖子类型,但当我给这篇帖子提供模板“single Services.php”时,它不接受这个,而是选择了“homepage.php”模板,你能告诉我这个问题吗?它也没有使用“archive services.php”模板,而是使用blog模板(index.php)使现代化代码如下:add_action(\'init\', \'services_register\'); function services_register() { $