WordPress根据分类别名或ID选择内容页模板

当我们需要某一个指定的分类使用指定的内容页模板时候,就需要用到下面这段wordpress代码。

在当前主题的根目录创建一个名为single 的文件夹,然后根据不同分类创建不同的文件,命名格式为 single-分类别名或ID.php。

例如,那就可以命名为 single-themes.php 或 single-2.php 。

这样,只要是WordPress主题这个分类,就会自动选择 single-themes.php 或 single-2.php 作为这个分类的文章模板。

//通过分类别名或ID选择模板文件
function wptoo_single_template($single) {
	global $wp_query, $post;
	foreach((array)get_the_category() as $cat) :
	if(file_exists(TEMPLATEPATH . \\\\\\\'/single/single-\\\\\\\' . $cat->slug . \\\\\\\'.php\\\\\\\'))
		return TEMPLATEPATH . \\\\\\\'/single/single-\\\\\\\' . $cat->slug . \\\\\\\'.php\\\\\\\';
	elseif(file_exists(TEMPLATEPATH . \\\\\\\'/single/ingle-\\\\\\\' . $cat->term_id . \\\\\\\'.php\\\\\\\'))
		return TEMPLATEPATH . \\\\\\\'/single/single-\\\\\\\' . $cat->term_id . \\\\\\\'.php\\\\\\\';
	endforeach;
}
add_filter(\\\\\\\'single_template\\\\\\\', \\\\\\\'wptoo_single_template\\\\\\\');