[wordpress主题]wordpress利用is_category()实现不同分类显示不同样式

更新时间:2019-06-05    来源:WordPress    手机版     字体:

【www.bbyears.com--WordPress】

通过is_category()进行判断来修改样式

 代码如下

if (is_category("category1")) {
    echo "class="category1-red"";
}
if (is_category("ccategory2"))
{
    echo "class = "category2-green"";
}
?>

这种方法简单明了,以twentyten主题为例,在不更改主循环的情况下,还可以通过上述方法为主div添加样式,例如

 代码如下


       

        

通过名为test的class,可以在样式表中重写默认的样式。

下面是补充方法


IF IN_CATEGORY 条件标签

首先,复制两个single.php文件分别取名为“single1.php” 和“single2.php”。然后,把原先的single.php文件里面的内容全部删除,并用下面的代码进行替换:

 代码如下 $post = $wp_query->post;
if ( in_category(’9′) ) {
include(TEMPLATEPATH . ‘/single2.php’);
} else {
include(TEMPLATEPATH . ‘/single1.php’);
}
?>

意思是:检查日志,如果日志属于分类ID9,则显示single2.php,如果不是,则显示single1.php。

还可以使用更多的条件语句来为不同的类别指定不同的样式和内容,例如:

 代码如下 $post = $wp_query->post;
if ( in_category(’9′) ) {
include(TEMPLATEPATH . ‘/single9.php’);
elseif ( in_category(’12′) ) {
include(TEMPLATEPATH . ‘/single12.php’);
elseif ( in_category(’42′) {
include(TEMPLATEPATH . ‘/single42.php’);
} else {
include(TEMPLATEPATH . ‘/single1.php’);
} }
?>

因为并不想都改变这两个single模板文件, 而仅仅是添加额外的样式表到第二个也就是single2.php文件, 于是再创建两个header模板文件,就像复制single.php一样。然后在第二个header文件的顶部添加上外部样式表的链接:

 代码如下

接着,就是要在第二个single2.php里面调用header2.php:

 代码如下

/* Don’t remove this line. */
require(‘./wp-blog-header.php’);
include(get_template_directory() . ‘/header2.php’
?>

不管是使用in_category还是is_category都是根据当前页面过来的分类id来判断了,这个我只是在程序中判断了,如果要加在后台让那些不懂程序的人设置我们可能不要设置一下数据库了。

本文来源:http://www.bbyears.com/wangyezhizuo/53212.html