Значение Comapare get_user_meta

Получил результат из массива get_user_meta() WordPress

Обзор массива

Необходимо проверить значение всего ключа val независимо от его значения 1 или нет.

get_users() имеет следующие значения:

 Array ( [0] => WP_User Object ( [data] => stdClass Object ( [ID] => 1 [user_email] => test@test.com ) ) [1] => WP_User Object ( [data] => stdClass Object ( [ID] => 2 [user_email] => abc@xyz.com ) ) ) 

get_user_meta() массива 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 ) ) ) 

Необходимо получить значение email от get_users() где get_user_meta() val == 1

Я пробовал это решение ниже, но не могу получить результат.

 $is_val = array_search(1,array_column($users,'val')); if($is_val == 1) { wp_mail($to,$subject,$message,); } 

Вы можете использовать meta_key или meta_query для извлечения пользователей, где get_user_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 ); 

Вы можете запустить цикл, чтобы получить адрес электронной почты пользователя и отправить электронное письмо.