这个方法看起来有点奇怪。
我在我的wordpress网站上有帖子,其中有一个自定义字段称为' login_email
'
在我的主题文件中,我有这个查询…
$press = new WP_Query(array(
'posts_per_page' => -1,
'post_type' => 'download',
'post_status' => 'private',
'meta_query' => array(
array(
'key' => 'login_email',
'value' => $current_user->user_login,
'compare' => '='
)
)
));
这只是检索具有login_email
自定义字段值的私人帖子,该字段值与$current_user->user_login
匹配
目前在我的login_email
自定义字段我有这个值…
josh@samplemail.uk.com
不,我希望能够做的是添加更多的电子邮件到这个自定义字段,用逗号分隔,像这样…
josh@samplemail.uk.com, colin@samplemail.uk.com, jimbo@samplemail.uk.com
…对于我上面的查询,能够识别出这个列表中的一个电子邮件。
例如,如果用户colin@samplemail.uk.com
已经登录,那么因为colins的email存在于这个自定义字段中(以及josh &Jimbo的电子邮件),则该帖子将在查询中返回。
我希望这是有意义的。如果我需要详细说明,请告诉我。
这就像我需要修改查询中的比较-但这些是我能找到的唯一选项…
compare (string) -要测试的操作符。可能的值是'=','!=', '>', '>=', '& lt; ', ' & lt; ="、"像"、"不喜欢"、"在"、"不是"、"之间"、"不"、"存在"(只有在WP> = 3.5),和"不存在"(也只有在WP> = 3.5)。默认值为'='。
来源…我已经测试了EXISTS,但是没有返回任何帖子。
有谁有聪明的办法或主意吗?
谢谢Josh
请尝试呼叫IN
。这将允许您在多个电子邮件中搜索。
遵循这里写的IN
子句:http://core.trac.wordpress.org/ticket/14997