在現在的 WordPress 要取得網站所有標籤、分類...的 id、內容,要使用 get_terms() 並透過傳入參數取得對應的內容。
使用方法簡單如下:
$terms = get_terms( array( 'taxonomy' => 'post_tag' ) );
taxonomy 基本上是一定要傳的,傳入 post_tag 會抓到標籤,要抓分類的話則是傳入 category。
完整可以傳入的參數如下:
taxonomy
string|string[]Taxonomy name, or array of taxonomy names, to which results should be limited.object_ids
int|int[]Object ID, or array of object IDs. Results will be limited to terms associated with these objects.orderby
stringField(s) to order terms by. Accepts:
- Term fields (
'name'
,'slug'
,'term_group'
,'term_id'
,'id'
,'description'
,'parent'
,'term_order'
). Unless$object_ids
is not empty,'term_order'
is treated the same as'term_id'
. 'count'
to use the number of objects associated with the term.'include'
to match the'order'
of the$include
param.'slug__in'
to match the'order'
of the$slug
param.'meta_value'
'meta_value_num'
.- The value of
$meta_key
. - The array keys of
$meta_query
. 'none'
to omit the ORDER BY clause.
'name'
.- Term fields (
order
stringWhether to order terms in ascending or descending order.
Accepts'ASC'
(ascending) or'DESC'
(descending).
Default'ASC'
.hide_empty
bool|intWhether to hide terms not assigned to any posts. Accepts1|true
or0|false
. Default1|true
.include
int[]|stringArray or comma/space-separated string of term IDs to include.
Default empty array.exclude
int[]|stringArray or comma/space-separated string of term IDs to exclude.
If$include
is non-empty,$exclude
is ignored.
Default empty array.exclude_tree
int[]|stringArray or comma/space-separated string of term IDs to exclude along with all of their descendant terms. If$include
is non-empty,$exclude_tree
is ignored. Default empty array.number
int|stringMaximum number of terms to return. Accepts''|0
(all) or any positive number. Default''|0
(all). Note that$number
may not return accurate results when coupled with$object_ids
.
See #41796 for details.offset
intThe number by which to offset the terms query.fields
stringTerm fields to query for. Accepts:
'all'
Returns an array of complete term objects (WP_Term[]
).'all_with_object_id'
Returns an array of term objects with the'object_id'
param (WP_Term[]
). Works only when the$object_ids
parameter is populated.'ids'
Returns an array of term IDs (int[]
).'tt_ids'
Returns an array of term taxonomy IDs (int[]
).'names'
Returns an array of term names (string[]
).'slugs'
Returns an array of term slugs (string[]
).'count'
Returns the number of matching terms (int
).'id=>parent'
Returns an associative array of parent term IDs, keyed by term ID (int[]
).'id=>name'
Returns an associative array of term names, keyed by term ID (string[]
).'id=>slug'
Returns an associative array of term slugs, keyed by term ID (string[]
).
'all'
.count
boolWhether to return a term count. If true, will take precedence over$fields
. Default false.name
string|string[]Name or array of names to return term(s) for.slug
string|string[]Slug or array of slugs to return term(s) for.term_taxonomy_id
int|int[]Term taxonomy ID, or array of term taxonomy IDs, to match when querying terms.hierarchical
boolWhether to include terms that have non-empty descendants (even if$hide_empty
is set to true). Default true.search
stringSearch criteria to match terms. Will be SQL-formatted with wildcards before and after.name__like
stringRetrieve terms with criteria by which a term is LIKE$name__like
.description__like
stringRetrieve terms where the description is LIKE$description__like
.pad_counts
boolWhether to pad the quantity of a term's children in the quantity of each term's "count" object variable. Default false.get
stringWhether to return terms regardless of ancestry or whether the terms are empty. Accepts'all'
or''
(disabled). Default''
.child_of
intTerm ID to retrieve child terms of. If multiple taxonomies are passed,$child_of
is ignored. Default 0.parent
intParent term ID to retrieve direct-child terms of.childless
boolTrue to limit results to terms that have no children.
This parameter has no effect on non-hierarchical taxonomies.
Default false.cache_domain
stringUnique cache key to be produced when this query is stored in an object cache. Default'core'
.update_term_meta_cache
boolWhether to prime meta caches for matched terms. Default true.meta_key
string|string[]Meta key or keys to filter by.meta_value
string|string[]Meta value or values to filter by.meta_compare
stringMySQL operator used for comparing the meta value.
See WP_Meta_Query::__construct() for accepted values and default value.meta_compare_key
stringMySQL operator used for comparing the meta key.
See WP_Meta_Query::__construct() for accepted values and default value.meta_type
stringMySQL data type that the meta_value column will be CAST to for comparisons.
See WP_Meta_Query::__construct() for accepted values and default value.meta_type_key
stringMySQL data type that the meta_key column will be CAST to for comparisons.
See WP_Meta_Query::__construct() for accepted values and default value.meta_query
arrayAn associative array of WP_Meta_Query arguments.
See WP_Meta_Query::__construct() for accepted values.
回傳後便可從 term_id 取得 id 以及 name 取得名稱。