WordPress 4.6 提供了新的查询分类的方法,比如WP_Query
,WP_User_Query
以及 WP_Comment_Query
WordPress 程序为你准备好了一切,你可以使用 WordPress 自带的查询分类的方法完成你所需要的东西,你不需要在你的数据库里去写复杂的SQL 查询。
WP_Term_Query
/**
* WP_Term_Query 应用举例
*
* @author 智慧宫
* @link https://lerm.net
*/
$term_query = new WP_Term_Query( $args );
if ( ! empty( $term_query->terms ) ) {
foreach ( $term_query ->terms as $term ) {
echo $term->name;
}
} else {
echo 'No term found.';
}
参数解释:
上面例子中的 $args
有很多查询分类法参数.
taxonomy
(字符串|数组) 分类法名称或分类发的数组,对结果应加以限制。orderby
(字符串) 分类项按顺序排列。接受术语字段(‘name’, ‘slug’, ‘term_group’, ‘term_id’, ‘id’, ‘description’)order
(字符串) 按升序或降序排列分类项,接受 ‘ASC’ (ascending) 或者 ‘DESC’ (descending).默认 ‘ASC’.hide_empty
(布尔|整型) 是否隐藏没有文章的分类项,接受1|true 或者 0|false, 默认 1|true.include
(数组|字符串) 用数组或者逗号分隔需要获取的分类项的ID,无默认值exclude
(数组|字符串) 用数组或者逗号分隔不需要获取的分类项的ID,无默认值,如果include
不为空,那就$exclude会被忽略exclude_tree
(数组|字符串) 用数组或者逗号分隔不需要获取的分类项的ID,排除后代分类项,如果 $include 不为空,$exclude_tree 会被忽略。number
(整型|字符串) 返回的最大项数 . 接受 |0 (全部) 或者任何正整数. 默认|0 (全部).offset
(整型) 跳过的文章数量。fields
(字符串) 查询条件. 接受 ‘all’ (返回全部的分类项的对象的数组), ‘ids’ (返回ids的数组), ‘id=>parent’ (返回ID为键,父级分类项IDs为值的数组), ‘names’ (返回分类项的名称的数组), ‘count’ (返回与分类项匹配的数字), ‘id=>name’ (返回ID为键,分类项名称为值的数组), or ‘id=>slug’ ( 返回ID为键,分类项slug为值的关联数组). 默认为 ‘all’.name
(字符串|数组) 可选. 返回的分类项的名称或者返回的数组的名称slug
(字符串|数组) 可选. 任何含有slug的分类项都可以作为该变量的值。默认为空字符串hierarchical
(布尔) 是否返回层级分类法(即使$HIDEIOLL被设置为真)默认为 truesearch
(字符串) 分类项匹配的搜索条件,将使用前后通配符对SQL进行格式化name__like
(字符串) 检索与 $name__like 相匹配的分类项description__like
(字符串) 检索描述像 $description__like 的分类项
Retrieve terms where the description is LIKE .pad_counts
(布尔) 是否计算包括 $terms 在内的所有子辈,默认为:falseget
(字符串) 是否返回分类项,无论是父级或者分项法否是为空,接受 all或者 emptychild_of
(整型) 获取该分类项的所有后代,如果有多个分类法, $child_of 被忽略.默认为0.parent
(整型|字符串) 获取该ID的子term 父级分类项的ID检索直系子代分类项childless
(布尔) 限制没有子代的分类项的结果,在non-hierarchical分类法中不起作用,默认为False
True to limit results to terms that have no children. This parameter has no effect on non-hierarchical taxonomies. Default false.cache_domain
(字符串) 当此查询存储在对象缓存中时,将产生唯一的缓存密钥,默认为 core.update_term_meta_cache
(布尔) 是否匹配分类项的元缓存
Whether to prime meta caches for matched terms. Default true.meta_query
(数组)自定义字段参数. 详见 WP_Meta_Query.meta_key
(字符串) 自定义字段的键. 可以用于 $meta_valuemeta_value
(字符串) 自定义字段的值.通常与 $meta_key 一起使用.
Category 中检索分类项
/**
* WP_Term_Query 应用举例
*
* @author 智慧宫
* @link https://lerm.net
*/
$term_query = new WP_Term_Query( array( 'taxonomy' => 'category' ) );
if ( ! empty( $term_query->terms ) ) {
foreach ( $term_query ->terms as $term ) {
echo $term->name;
}
} else {
echo 'No term found.';
}
受教了
受教了