2013-04-23 36 views
0

作为一种方法,这看起来有点奇怪。php wp_query从变量中的多个值中获取一个值 - 用逗号分隔的值

我有我的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自定义字段值...

[email protected] 

不,我想什么能够做的是这样一个逗号添加更多的电子邮件,这个自定义字段单独...

[email protected], [email protected], [email protected] 

...和我上面的查询是能够从此列表中识别出一封电子邮件。


例如,如果用户[email protected]登录,然后因为柯林斯在电子邮件此自定义字段存在(连同乔希&吉博的电子邮件),那么职位将在查询中返回。

我希望这会产生某种感觉。如果我需要详细说明,请告诉我。

这就像我需要修改查询比较 - 但这些是唯一的选择,我可以找到...

比较(串) - 操作员进行测试。可能的值是'=','!=','>','> =','<','< =','LIKE','不想','进入','不进入','间隔','不存在','存在'(仅在WP> = 3.5)和'不存在'(也仅在WP> = 3.5)中。默认值是'='。Source

...我测试过EXISTS,但没有返回任何帖子。


有没有人得到了一个巧妙的修复或想法?


感谢 乔希

回答

0

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

按照IN条款写在这里:http://core.trac.wordpress.org/ticket/14997

+0

我试过,但没有返回岗位。当前的用户名在'login_email'字符串中。 – Joshc 2013-04-23 14:32:26

+0

什么是条款?我是否需要安装一个功能,或者运营商是否打算工作? – Joshc 2013-04-23 14:34:23

+0

这很奇怪,IN似乎并没有在自定义字段中找到电子邮件。嗯,我想知道为什么会这样 – Joshc 2013-04-23 22:33:28

相关问题