wp_get_post_categories(获取成本类别)(整数 $帖子id,阵列 $个参数 = 数组() ):阵列|WP_错误

检索文章的类别列表。

描述

主题和插件的兼容性层。它也是一个简单的抽象层,远离了分类法层的复杂性。

另请参见

参数

$帖子id整数可选择的
帖子ID不默认为全局$Post的ID。默认为0。
$个参数阵列可选择的
类别查询参数。
有关支持的参数,请参阅WP_Term_Query::__construct()。

违约:数组()

返回

阵列|WP_错误类别列表。如果$字段传递的参数$个参数“全部”'带对象id的所有',一个数组WP_术语对象将被返回。如果$字段“ID”,类别ID的数组。如果$字段“名称”,类别名称数组。
WP_错误对象,如果'类别'分类法不存在。

更多信息

结果来自wp_get_post_categories()没有缓存,这将导致每次调用此函数时都会进行数据库调用。小心使用此功能。对于性能,功能如下获取类别()应用于返回附加到帖子的类别。

来源

函数wp_get_post_categories($post_id=0,$args=数组()){$post_id=(int)$post_id;$defaults=数组('fields'=>'ids');$args=wp_parse_args($args,$defaults);$cats=wp_get_object_terms($post_id,'category',$args);返回$cats;}

变更日志

版本描述
2.1.0介绍。

用户贡献的笔记

  1. 跳到注释4内容

    下面的示例显示了如何检索类别,然后检索每个类别的其他信息。

    $post_categories=wp_get_post_categries($post_id);$cats=数组();foreach($post_categories作为$c){$cat=获取类别($c);$cats[]=数组(“name”=>$cat->name,“slug”=>$cat->slug);}
  2. 跳到注释5内容

    下面的示例显示了如何检索类别,并使用参数检索其他信息,而不是调用获取类别

    $post_categories=wp_get_post_categries($post_id,数组(“字段”=>“全部”));$cats=数组();if($post_categories){//总是在循环之前检查!foreach($post_categories作为$c){$cats[]=数组('name'=>$c->name,'slug'=>$c->slug');//或者我们可以直接打印出来printf(“类别名称:%s,类别Slug:%s,类别Url:%s”,$c->名称,$c->Slug,esc_Url(get_Category_link($c->term_id));}	}

    仅列出类别名称:

    $post_categories=wp_get_post_categories($post_id,数组('fields'=>'names'));if($post_categories){//总是在循环之前检查!foreach($post_categories作为$name){echo$name;}}
  3. 跳到注释6内容

    按降序列出类别名称:

    $terms_list=wp_get_post_categories($post_id,数组('fields'=>'names','order'=>'DESC');if($terms_list){//检查$terms_list是否有值foreach($terms_list作为$term){echo esc_html($term)。'<br/>';}}

    如果要从列表中排除任何特定术语,可以执行以下操作:

    //添加“exclude”键,并将要从结果中排除的术语id作为键//如果要排除多个术语,请将它们的键用逗号或空格隔开$terms_list=wp_get_post_categories($post_id,数组('fields'=>'names','exclude'=>'1,7');if($terms_list){//检查$terms_list是否有值foreach($terms_list作为$term){echo esc_html($term)。'<br/>';}}

你必须登录在能够发表注释或反馈之前。