WordPress函数中in_category()应用是什么?
in_category(int | string | array $ category, int | object $ post = null )
检查当前帖子是否在给定类别中。
将根据帖子的类别的term_id,名称和条目检查给定的类别。以整数形式给出的类别将仅根据帖子类别的term_ids进行检查。
在WordPress v2.5之前,不支持类别名称。在v2.7之前,不支持类别标签。在v2.7之前,只能比较一个类别:in_category($ single_category)。在v2.7之前,此功能只能在WordPress循环中使用。从2.7开始,如果提供了帖子ID或帖子对象,则该函数可在任何地方使用。
有关此功能和类似主题功能的更多信息,请查看“主题开发者手册”中的“ 条件标签”文章。
参数#参数
$category
(int | 字符串 | 数组) (必需) 类别ID,名称或子段或表示的数组。
$post
(int | object) (可选)过 帐而不是当前过帐。(从2.7.0版开始)
默认值:null
概述
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(); // ...}if ( in_category( 'linux' )) { // 如果这篇文章属于linux类,此处添加要执行的内容。} elseif ( in_category( array( 'apache', 'nginx' ) )) { // 如果这篇文章同时属于apache和nginx分类,此处添加要执行的内容。} else { // etc.}