php 如何为WP_User_Query构建数组

vq8itlhq  于 2023-02-07  发布在  PHP
关注(0)|答案(1)|浏览(140)

我有一个数组:

$args = array(
    'orderby' => 'meta_value',
    'meta_key' => $columnName,
    'order' => $columnOrder,
    'meta_query' => array(
        'relation' => 'AND',
        array(
            'key' => 'shipping_company',
            'value' => '^'.$prospectSearch,
            'compare' => 'REGEXP',
        ),
        array(
            'key' => 'shipping_company',
            'value' => '---NV',
            'compare' => 'NOT LIKE',
        ),
        array(
            'key' => 'shipping_company',
            'value' => '---DS',
            'compare' => 'NOT LIKE',
        ),
        array(
            'key' => 'customer_status',
            'value' => '1',
            'compare' => '=',
        ),
    ),
);

除此之外,我还需要在user_meta表中搜索许多邮政编码,如下所示:

$args['meta_query'][]=array(
    'relation' => 'OR',
);

foreach($zips as $zip) {
    $args['meta_query'][]=array(
        array(
            'key' => 'shipping_postcode',
            'value' => $zip,
            'compare' => '=',
        ),
    );
}

问题是邮政编码部分中的"OR"总是被更改为"AND"。我将此数组如下所示地提供给WP_User_Query:
$wpUserQuery = new WP_User_Query($args);
我使用下面的代码行来获取SQL:
$wpUserQuery->request;

qyzbxkaa

qyzbxkaa1#

我走了一条不同的路线。而不是使用WP_User_Query,我去手动构建SQL字符串并优化它。

相关问题