仅当META_VALUE不为空时查询帖子

时间:2020-02-21 作者:lindag.

我不明白为什么这不起作用。我正在尝试查询成员邮件列表的帖子,只是不想包含非成员的用户。现在,甚至显示meta\\u键“member”的meta\\u值为空的用户。请帮忙!(WP版本5.3.2)

    function get_all_users () {


        $args = array( 
            \'orderby\' => \'display_name\',
            \'meta_query\' => array (
    array (

            \'key\' => \'member\',
            \'value\' => \'\',
            \'compare\' => \'!=\'
        )
      )
    );

$users = get_users($args);

        ob_start();

// Array of WP_User objects.
        foreach ( $users as $user ) {

            $firstName = get_user_meta($user->ID, \'first_name\', true);
            $lastName = get_user_meta($user->ID, \'last_name\', true);
            echo "<li><a href=\\"mailto:" . $user->user_email . "\\">" . $firstName . " " . $lastName . "</a></li>";
        }
        return ob_get_clean();
    }

2 个回复
最合适的回答,由SO网友:lindag. 整理而成

出于某种原因,这起作用了。请注意,meta\\u值中有一个空格。

$args = array( 
        \'orderby\' => \'display_name\',
        \'meta_key\' => \'member\',
        \'meta_value\' => \' \',
        \'meta_compare\' => \'!=\'
    );

SO网友:StronenV

尝试从元查询中删除它们的值:

$args = array(
    \'orderby\'        => \'display_name\',
    \'meta_query\'     => array(
        array(
            \'key\'     => \'member\',
            \'compare\' => \'!=\',
        ),
    ),
);

$users = get_users($args);

相关推荐