WordPress中我们通常使用判断文章所属分类函数 in_category
,来实现文章页自定义,单很多时候我们会和is_category
函数混淆,小编特意做一个总结和举例,希望对你制作wordpress主题文件有所帮助。
概述
in_category
:判断当前文章或指定文章是否属于某个指定类别,只有直属的类别,不包括直属类别的父辈类别;可以在循环内使用,也可以独立使用。
is_category
:判断是否正在显示一个类别归档页面。
in_category函数
in_category()
函数可以通过分类别名或ID判断当前文章所属的分类,用这个功能实现特定分类使用自定义模板或内容等,而且可以直接在循环(Loop)内部和外部使用。
1、如果是单个分类 ID ,比如ID 为 2 ,可以这样写
in_category(2)
2、如果是单个分类别名,比如别名为 themes,可以这样写
in_category('themes')
3、如果是多个ID,可以这样写
in_category( array('1', '2', '3') )
4、如果是多个别名,可以这样写
in_category( array( 'themes','plugins','develop') )
5、综合举例
in_category函数通常用于主循环中,根据当前文章的类别采取不同的行动,在循环前我们判断分类如果是 fruit
就调用 single-fruit.php
,如果是 vegetables
就调用 single-vegetables.php
if ( in_category('fruit') ) {
????include 'single-fruit.php';
} elseif ( in_category('vegetables') ) {
????include 'single-vegetables.php';
} else {
????// Continue with normal Loop
????if ( have_posts() ) : while ( have_posts() ) : the_post();
????// ...
}
6、综合举例2
if ( in_category( 'linux' )) {
????// 如果这篇文章属于linux类,此处添加要执行的内容。
} elseif ( in_category( array( 'apache', 'nginx' ) )) {
????// 如果这篇文章同时属于apache和nginx分类,此处添加要执行的内容。
} else {
????// etc.
}
is_category函数
方法
< ?php is_category($category); ?>
参数
$category
,也就是说这个参数可以嵌入单个分类归档的ID或标题,也可以嵌入多个分类组合的ID或标题。当然,这个参数的默认值是None。
返回值
要么是真(True),要么是假(False)
举例
< ?php
if(is_category())
//如果这是一个分类归档页面,此处添加要执行的内容。?
if(is_category('1'))
//如果这是一个分类ID为1的分类归档页面,此处添加要执行的内容。?
if(is_category('internet')){
//如果这是一个分类URL为internet的分类归档页面,此处添加要执行的内容。?
if(is_category('电子商务'))
//如果这是一个分类标题为电子商务的分类归档页面,此处添加要执行的内容。?
if(is_category(1,2,3)){
//如果这是一个分类ID分别为1,2,3的数组型分类归档页面,此处添加要执行的内容。
?>
总结
在wordpress里面判断某个东西是否属于某分类,则用in_category
,而如果是想判断某个分类的表现,那就要用is_category
函数。总之,分类页判断分类用is_category()
, 内容页判断分类需用in_category()
。