📅  最后修改于: 2023-12-03 15:22:14.377000             🧑  作者: Mango
WordPress 中,我们经常需要对文章或自定义文章类型进行查询或筛选,而 meta_query 就是其中一种非常强大的查询方式,可以帮助我们快速过滤符合我们需要的内容。本文将介绍 meta_query 的基本用法和示例代码。
在 WordPress 中,每篇文章或自定义文章类型都可以添加自定义字段,比如文章的作者、发布日期、浏览次数等等。这些自定义字段就是文章的元数据(metadata),而 meta_query 就是基于这些元数据进行查询的工具。
meta_query 可以用来过滤文章或自定义文章类型中的元数据,可以查询指定字段的特定值、大于某个值、小于某个值、在某个范围内等等。
使用 meta_query 进行过滤非常简单,只需要在 WP_Query 对象中指定 meta_query 参数,值为一个数组,数组中的每个项表示一个查询条件。
下面是一个使用 meta_query 的示例代码:
$args = array(
'post_type' => 'product',
'meta_query' => array(
array(
'key' => 'price',
'value' => 100,
'compare' => '>',
'type' => 'NUMERIC'
)
)
);
$query = new WP_Query( $args );
这段代码查询了所有产品(post_type 为 product)中,价格大于 100 的文章,并将结果存放在 $query 变量中。
在 meta_query 中,每个数组项代表一个查询条件,可以有多个条件。每个条件中,key 表示要查询的元数据的字段名,value 表示要查询的值,compare 表示查询的比较符,可以是 >、<、>=、<=、!=、LIKE 等等,type 表示查询的值的类型,可以是 STRING(字符串)、NUMERIC(数值)、BINARY(二进制)等等。
如果有多个条件,可以将它们都放在数组中,比如:
$args = array(
'post_type' => 'product',
'meta_query' => array(
array(
'key' => 'price',
'value' => 100,
'compare' => '>',
'type' => 'NUMERIC'
),
array(
'key' => 'stock',
'value' => 0,
'compare' => '>',
'type' => 'NUMERIC'
)
)
);
$query = new WP_Query( $args );
这段代码查询了所有产品中,价格大于 100 并且库存大于 0 的文章。
meta_query 是 WordPress 中非常强大的查询工具,可以帮助我们快速筛选和过滤符合我们需求的内容。本文介绍了 meta_query 的基本用法和示例代码,希望能帮助到 WordPress 开发者。