WordPress获取标签信息函数:get_tags

2022/07/13

WordPress函数get_tags用于获取标签对象。

get_tags( string|array $args = '' )

函数参数

$args

数组或字符串,可用值如下。

taxonomy

字符串,默认值:post_tag

分类法名称

object_ids

整数或数组

对应于wp_term_relationships表object_id字段,该字段对应于wp_posts表的ID,也就是指定文章的ID

orderby

字符串,默认值:name

排序的参照标准,可用值如下:

  • terms字段:name、slug、term_group、term_id、id、description、parent、term_order;
  • count:按文章数排序;
  • include:匹配include参数;
  • slug__in:匹配slug参数;
  • meta_value/meta_value_num:按照termmeta表中meta_value字段值排序,需指定meta_key参数;

order

字符串,默认值:ASC

排序的方式,可用值如下:

  • ASC:默认值,以升序排列;
  • DESC:降序排列;

hide_empty

布尔值,默认值:true

是否隐藏没有文章的标签

include

数组或字符串

要包含的标签ID

exclude

数组或字符串

要排除的标签ID

number

整数

返回的标签数量

offset

整数

查询偏移量

fields

字符串

要查询的terms字段,指定字段后将只返回指定字段值

  • all:返回包含所有WP_Term Object的数组;
  • all_with_object_id:测试中没有发现与all有区别;
  • ids:仅返回标签的ID;
  • tt_ids:返回term_taxonomy_id,一般情况下与term_id的值是相同的;
  • names:仅返回标签的名称;
  • slugs:仅返回标签的别名;
  • count:返回查询到的标签总数;
  • id=>name:以ID为键,返回标签名称;
  • id=>slug:以ID为键,返回标签别名;

count

布尔值,默认值:false

返回标签文章数量,优先于fields的设置,实际测试没有任何效果。

name

字符串

指定标签的名称,则返回该标签对象

slug

字符串

指定标签别名,则返回该标签对象

term_taxonomy_id

整数

根据指定的分类法ID返回数据

search

字符串

搜索匹配条件的标签

name__like

字符串

返回名称中包含指定关键词的标签

description__like

字符串

返回描述中包含指定关键词的标签

cache_domain

字符串,默认值:core

指定对象缓存的Key

update_term_meta_cache

布尔值,默认值:true

meta_query

数组

元数据查询

meta_key

字符串

元数据键的名称

meta_value

字符串

元数据键的值

meta_type

字符串

meta_compare

字符串

meta_value的比较运算符

函数返回值

Array
(
    [0] => WP_Term Object
        (
            [term_id] => 10
            [name] => 建站教程
            [slug] => site-tutorial
            [term_group] => 0
            [term_taxonomy_id] => 10
            [taxonomy] => post_tag
            [description] => 
            [parent] => 0
            [count] => 11
            [filter] => raw
        )

    [1] => WP_Term Object
        (
            [term_id] => 11
            [name] => 互联网
            [slug] => internet
            [term_group] => 0
            [term_taxonomy_id] => 11
            [taxonomy] => post_tag
            [description] => 
            [parent] => 0
            [count] => 1
            [filter] => raw
        )

)

函数使用示例

$args = array(
	'hide_empty' => false,
);
$tags = get_tags($args);
$html = '<div class="post_tags">';
foreach($tags as $tag) {
    $tag_link = get_tag_link($tag->term_id);       
    $html .= '<a href="' . $tag_link .'" title="' . $tag->name. '" class="'. $tag->slug . '">';
    $html .= $tag->name . '</a>';
}
$html .= '</div>';
echo $html;

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注