Comapare get_user_meta value

时间:2017-06-15 作者:TMA

已从获取以下数组结果get_user_meta() WordPress挂钩

查看阵列

需要检查所有值val 输入其值是否为1。

这个get_users() 数组具有以下值:

Array
(
[0] => WP_User Object
    (
        [data] => stdClass Object
            (
                [ID] => 1
                [user_email] => [email protected]
            )


    )

[1] => WP_User Object
    (
        [data] => stdClass Object
            (
                [ID] => 2
                [user_email] => [email protected]
            )


    )
)
get_user_meta() 数组值:

Array
(
[0] => Array
    (
        [first_name] => Array
            (
                [0] => john
            )

        [val] => Array
            (
                [0] => 0
            )

    )

[1] => Array
    (
        [first_name] => Array
            (
                [0] => mark
            )

        [val] => Array
            (
                [0] => 1
            )

    )

)

Need to take value of email from get_users() where get_user_meta() val == 1

我已经尝试了下面的解决方案,但无法得到结果。

$is_val = array_search(1,array_column($users,\'val\'));

if($is_val == 1) { wp_mail($to,$subject,$message,); }

1 个回复
SO网友:Jiten Gaikwad

您可以使用meta\\u key或meta\\u query获取get\\u user\\u meta()“val”==1的用户

选项1:

$users = get_users(array(
    \'meta_key\'     => \'val\',  // your_meta_key
    \'meta_value\'   => \'1\',   // value you want to compare
    \'meta_compare\' => \'=\',
));
选项2:

$args = array(
    \'meta_query\'   =>array(
        array(
            \'key\' => \'val\',  //your_meta_key
            \'value\' => 1,    // value of key to compare
            \'compare\' => "="
        ),
    )
);
$users = get_users( $args );
您可以通过循环获取用户的电子邮件地址并发送电子邮件。

结束