wordpress不同分类下调用不同文章single模板
如果让自己做网站时,网站版面的多样化。实现文章样式不同,就需修改single.php模版。【关于wordpress模板也可学习wordpress模板制作教程】
首先,用下面的代码替换single.php的全部内容:
<?php
if ( in_category(‘分类别名’) ) {
include(TEMPLATEPATH . ‘/single_a.php’);
}
else {
include(TEMPLATEPATH . ‘/single_b.php’);
}
?>
if ( in_category(‘分类别名’) ) {
include(TEMPLATEPATH . ‘/single_a.php’);
}
else {
include(TEMPLATEPATH . ‘/single_b.php’);
}
?>
其中,“分类别名”替换为显示特殊样式的分类别名,分类ID也行。前段是指定的分类调用的模版,后段是其它分类调用的通用模版。
然后,在主题目录分别新建single_a和single_b二个文章,分别设置不同的文章版面,这样WP程序就会自动识别不同分类下调用设置的文章模板了。
对于一些不会制作wordpress模板的用户,可以选择一些wordpress免费模板。
如果这个分类下面还有各种小分类,小分类的single页面也会继承? 难道你给每个小分类都写上判断?
小分类也是有其唯一的ID号的,只需将分类的ID号添加进去就可以了
点击任意一篇二级分类下面的文章,没有出现该文章的内容。出来的是所有文章和文章内容,这是怎么回事?
应该是你的循环代码有问题。
仔细检查了,循环代码没有问题。按照这种方法,点击二级分类的任意文章,就是会出现所有文章,不用这种方法,点击二级分类下任意文章,是正常显示的,但是侧边栏跳转其他的侧边栏去了。而没有二级分类的,就没有这种问题。是不是这种方法不支持二级分类?
跟着这样子做还是不能调用多个模板啊。。。。。。
在你的模板函数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页面, 但是有好多产品和新闻,不可能把每个新闻和产品的id都写到括号内把 括号内的该怎么写啊
括号里写的是分类ID,一个分类不管文章多少,只需写一次ID号就可以了。
我有十几个分类 不同的分类需要调不同的 single 该怎么办???