根据类别使用不同的WordPress主题

时间:2013-01-17 19:46:29

标签: php wordpress

是否可以根据您所在的类别显示不同的主题?

例如:

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');
}

这是要走的路吗?

1 个答案:

答案 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文件,这样如果您没有当前类别的自定义文件,就可以回退到该文件。

相关问题