PHP wp_query从变量中的多个值中获取一个值-用逗号分隔的值


php wp_query to get one value from multiple values in variable - the values separated by a comma

这个方法看起来有点奇怪。

我在我的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