WordPress函数-in_category()应用

  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.
}