これまでのところ、私はこれら3つのオプションを試してみましたが、3つすべてが機能していません。
$options = array(
'meta_key' => 'first_name',
'meta_value' => '',
'meta_compare' => '=',
);
$users = get_users( $options );
$options = array(
'meta_key' => 'first_name',
'meta_value' => null,
'meta_compare' => '=',
);
$users = get_users( $options );
$options = array(
'meta_query' => array(
array(
'key' => 'first_name',
'compare' => 'NOT EXISTS',
),
)
);
$users = get_users( $options );
empty stringというメタ値でfirst_name
メタキーを探しているようです。
$options = array(
'meta_query' => array(
array(
'key' => 'first_name',
'value' => '',
'compare' => '=',
),
)
);
$users = get_users( $options );
これは、この種のSQLクエリを生成します。
SELECT wp_users.*
FROM wp_users
INNER JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.user_id )
WHERE
1=1 AND ( ( wp_usermeta.meta_key = 'first_name' AND wp_usermeta.meta_value = '' ) )
ORDER BY user_login ASC
ご了承ください
$options = array(
'meta_key' => 'first_name',
'meta_value' => '',
'meta_compare' => '=',
);
$users = get_users( $options );
この種のSQLクエリを生成します。
SELECT wp_users.*
FROM wp_users
INNER JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.user_id )
WHERE 1=1 AND ( wp_usermeta.meta_key = 'first_name' )
ORDER BY user_login ASC ;
コードの下で使用されます。データベース内のfirst_nameキーがないか、空のfirst_nameを持つすべてのデータを返します。
$args = array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'first_name',
'value' => '',
'compare' => '=',
),
array(
'key' => 'first_name',
'value' => '',
'compare' => 'NOT EXISTS',
),
)
);
$users = get_users( $args );
var_dump($users);exit;