wordpress中我们通常使用判断文章所属分类函数 in_category,来实现文章页自定义,单很多时候我们会和is_category函数混淆,小编特意做一个总结和举例,希望对你制作wordpress主题文件有所帮助。
概述
in_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、综合举例1
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' )) {
} 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,3的数组型分类归档页面,此处添加要执行的内容。
?>
总结
在wordpress里面判断某个东西是否属于某分类,则用in_category,而如果是想判断某个分类的表现,那就要用is_category函数。总之,分类页判断分类用is_category(), 内容页判断分类需用in_category()。