来自数组的多个元查询

时间:2014-11-06 作者:Peter

我需要从数组中执行多个元查询。我有这样的想法:

$search_term[] = array(
  \'key\' => \'_cmb_listing_status\',
  \'value\' => \'Active\',
  \'compare\' => \'=\'
);
foreach ( $refine_property_type as $search_value ) {
    $search_term[] =
            array(
                \'key\' => \'_cmb_property_type\',
                \'value\' => $search_value,
                \'compare\' => \'=\'
            );
}
这会产生如下输出:

Array (
[0] => Array
    (
        [key] => _cmb_listing_status
        [value] => Active
        [compare] => =
    )

[1] => Array
    (
        [key] => _cmb_property_type
        [value] => House
        [compare] => =
    )

[2] => Array
    (
        [key] => _cmb_property_type
        [value] => Office
        [compare] => =
    )
)
我正在WorpAddress中使用以下代码进行元查询:

$args = array(
\'paged\' => $paged,
\'post_type\' => \'property\',
\'posts_per_page\' => 5,
\'meta_key\' => \'_cmb_listing_featured\',
\'orderby\' => \'meta_value\',
\'order\' => \'DESC\',
\'meta_query\' => array(
    \'relation\' => \'AND\',
     $search_term
    )
);
$wp_query = new WP_Query( $args );
那就行不通了?有谁能帮我弄清楚这件事吗?我认为这是因为多维数组被传递到查询中,但我不确定如何在WP\\u查询中“展平”它?

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

$search_term 已是数组的数组。当你最终将其添加到meta_query, 你得到了一个数组中的一个数组中的一个数组,这是行不通的

您正在使用AND 作为您的relation 运算符,它是多数组的默认值meta_query. 我建议你放下它,然后简单地喂它$search_term 直接发送到您的meta_query. 无阵列。

实例

\'meta_query\' => $search_term,

结束

相关推荐

Array in meta key?

我有一个称为“会议”的自定义帖子类型。我想为已注册会议的用户创建一个特定的元密钥。例如,元密钥slug将是registered_users 它存储一个包含注册用户的所有ID的数组。有可能吗?如何创建它?当新用户注册时,如何更新它?我知道如何更新基本元,但这里是一个数组…:/