特定のmeta_keyを持つすべてのユーザーを返すためにget_users()
を使用したいのですが、値はユーザーごとに変わるので、指定する必要はありません。値はJSON文字列です。これは可能ですか?
meta_key
引数だけを使用することができ、結果はEXISTS
sqlステートメントを使用するのと同じようになります。
<?php
$users = get_users(array(
'meta_key' => 'your_meta_key',
));
あるいは、meta_value
(デフォルト)に空の文字列を、>
にmeta_compare
を使用することもできます。結果は同じです(おそらくmeta_value
が空の場合は無視されるためです)。
<?php
$users = get_users(array(
'meta_key' => 'your_meta_key',
'meta_value' => '',
'meta_compare' => '>',
));
最初の方法はWP_Query
とmeta_query
を使うときにも機能します。私のプラグインからの例:
$links = get_posts(array(
'post_type' => self::POST_TYPE,
'numberposts' => apply_filters('seoal_number_links', -1),
'meta_query' => array(
'relation' => 'AND',
array(
'key' => self::get_key("type_{$post->post_type}"),
'value' => 'on',
'compare' => '='
),
array(
'key' => self::get_key('url'),
'compare' => 'EXISTS' // doesn't do anything, just a reminder
),
array(
'key' => self::get_key('keywords'),
'compare' => 'EXISTS' // doesn't do anything, just a reminder
)
),
'suppress_filters' => false,
));