wordpress让文章自动判断分类,调用不同模板

wordpress让文章自动判断分类,调用不同模板。有时我们在建立比较复杂的网站,不同的分类需要调用不同的模板文件,以本站为例,首先:创建你需要的模板页面,比如articsingle.php(文章模板),productsingle.php(主题模板)。其次:配合post_is_in_descendant_category()函数,让文章自动判断分类,将插入到模板文件夹下的functions.php文件里面,代码如下:

function post_is_in_descendant_category( $cats, $_post = null )
{
foreach ( (array) $cats as $cat ) {
// get_term_children() accepts integer ID only
$descendants = get_term_children( (int) $cat, ‘category’);
if ( $descendants && in_category( $descendants, $_post ) )
return true;
}
return false;
}

再次:在 single.php页面中替换所有的代码为

{include(TEMPLATEPATH . ‘/productsingle.php’);}
else{include(TEMPLATEPATH . ‘/articlesingle.php’);}
?>

最后:上传,OK。当然你也可以用老办法,用下面代码,替换single.php里所有代码。

$post = $wp_query->post;
if ( in_category(’7′) ) {
include(TEMPLATEPATH . ‘/productsingle.php’);
}
else {
include(TEMPLATEPATH . ‘/articlesingle.php’);
}
?>