是否可以根据您所在的类别显示不同的主题?
例如:
blog.example.com/category/foo -> style1.
blog.example.com/category/bar -> style2.
谷歌搜索提出this page,他建议在single.php中执行此操作:
$post = $wp_query->post;
if ( in_category(5) ) {
include(TEMPLATEPATH . '/style1.php');
} else {
include(TEMPLATEPATH . '/style2.php');
}
这是要走的路吗?
答案 0 :(得分:2)
你不应该真的使用include
。 Wordpress在这些情况下具有惊人的get_template_part
功能。它有一个内置的回退机制,并与您的主题很好地集成:
$categories = get_the_category();
get_template_part('for-category', $categories[0]->slug);
然后,只需使用类别slug命名文件:
blog.example.com/category/foo - >对于类-foo.php
blog.example.com/category/bar - >换类别-bar.php
请记住还有一个默认的for-category.php
文件,这样如果您没有当前类别的自定义文件,就可以回退到该文件。