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

时间:2013-04-23 12:36:04

标签: php wordpress

作为一种方法,这似乎有点奇怪。

我的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电子邮件(以及josh& jimbo的电子邮件),所以该帖子将在查询中返回。

我希望这有一定道理。如果我需要详细说明,请告诉我。

这就像我需要在查询中修改比较 - 但这些是我能找到的唯一选项......

比较(字符串) - 要测试的运算符。可能的值为'=','!=','>','> =','<','< =','LIKE','NOT LIKE','IN','NOT IN ','BETWEEN','not BETWEEN','EXISTS'(仅在WP> = 3.5)和'NOT EXISTS'(也仅在WP> = 3.5)。默认值为“=”。 Source

...我测试了EXISTS,但没有回复任何帖子。


有没有人有一个聪明的解决方案或想法?


由于 约什

1 个答案:

答案 0 :(得分:0)

请尝试操作员IN。这将允许您搜索多个电子邮件。

按照此处撰写的IN条款:http://core.trac.wordpress.org/ticket/14997