以多个元值作为条件的 WordPress 查询

发布于 2024-11-19 12:44:15 字数 440 浏览 0 评论 0原文

第一次使用 WordPress 查询,所以不知道如何处理这个问题。我想获取meta_key 为“tag”、meta_values 为“A、B、C”的帖子标题。类似于sql查询的IN()函数。我应该怎样做才能达到这个目的?

到目前为止,这是我的代码,但它不起作用,因为它忽略了条件。

 //$tags consists of my meta_value ( A, B, and C) 
    foreach ($tags as $input) {


    $data[] = array( 'meta_key' => 'tag', 'meta_value' => $input, 'orderby' => 'post_date' ); 


    }




        $query = new WP_Query( $data );

预先感谢您的帮助。

First time using wordpress query so not sure how to handle this problem. I want to get post titles where meta_key is 'tag' and meta_values are 'A, B, C'. Something similar to IN() function of sql query. How should I do to achieve that?

This is my code so far but it is not working as it ignores condition.

 //$tags consists of my meta_value ( A, B, and C) 
    foreach ($tags as $input) {


    $data[] = array( 'meta_key' => 'tag', 'meta_value' => $input, 'orderby' => 'post_date' ); 


    }




        $query = new WP_Query( $data );

Thanks in advance for your kind help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

神经大条 2024-11-26 12:44:15

请阅读 WP_Query 的 WordPress Codex 上的自定义字段参数部分。

问题是您在每个循环上重建整个 $data 数组。这会将无效参数传递给 WP_Query。所以我想你会得到不确定的结果。

您只需直接设置 meta_value 或指定一个 meta_query 参数,类似于您所描述的 IN 子句。

Read the Custom Field Parameters section on the WordPress Codex for WP_Query.

The problem is you are rebuilding your entire $data array on each loop. This passes invalid parameters to WP_Query. So I imagine your getting undefined results.

You simply want to set meta_value directly or specify a meta_query parameter similar to the IN clause you described.

少女七分熟 2024-11-26 12:44:15

答案如下

$args = array(

    'meta_query' => array(
    array(
        'key' => 'tag',
        'value' => $tags,
        'compare' => 'IN'
        ) 
    ),

    'orderby' => 'post_date'    

:);

Here is the answer:

$args = array(

    'meta_query' => array(
    array(
        'key' => 'tag',
        'value' => $tags,
        'compare' => 'IN'
        ) 
    ),

    'orderby' => 'post_date'    

);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文