Meta_Query拒绝返回结果

时间:2017-12-14 作者:Kevin

我试图返回特定查询的帖子。使用以下代码:

$meta_query = array(
    \'relation\' => \'OR\',
    array(
        \'key\'     => \'tic_assignment\',
        \'value\'   => $current_user -> ID,
        \'compare\' => \'=\',
    ),
    array(
        \'key\'     => \'tic_department\',
        \'value\'   => $_depts,
        \'compare\' => \'LIKE\',
    ),
);
$_args = array ( \'post_type\' => \'tickets\',
    \'meta_query\' => $meta_query,
    \'posts_per_page\' => 10, 
    \'orderby\' => \'date\', 
    \'order\' => \'DESC\', );
$the_query = new WP_Query( $_args );
现在,它不再根据添加的查询返回我的帖子,而是返回所有帖子。

我有var_dump教育部$the_query 返回的内容如下:https://pastebin.com/PPYaJpSu

(它太大了,不能全部粘贴在这里)

即使我取出第二个数组,它仍然返回所有内容。。。当它不应返回任何基于tic_assignment

当我将参数修改为:

$_args = array ( \'post_type\' => \'tickets\',
    \'meta_key\' => \'tic_assignment\',
    \'meta_value\' => $current_user -> ID,
    \'meta_compare\' => \'=\',
    \'posts_per_page\' => 10, 
    \'orderby\' => \'date\', 
    \'order\' => \'DESC\', );
$the_query = new WP_Query( $_args );
构造正确的查询,并返回正确的结果。

有什么好处?

1 个回复
最合适的回答,由SO网友:Elex 整理而成

你忘了meta_query 输入您的$args.

$meta_query = array(
    \'relation\' => \'OR\',
    array(
        \'key\'     => \'tic_assignment\',
        \'value\'   => $current_user -> ID,
        \'compare\' => \'=\',
    ),
    array(
        \'key\'     => \'tic_department\',
        \'value\'   => $_depts,
        \'compare\' => \'LIKE\',
    ),
);
$_args = array ( \'post_type\' => \'tickets\',
    \'meta_query\' => $meta_query,
    \'posts_per_page\' => 10, 
    \'orderby\' => \'date\', 
    \'order\' => \'DESC\', );
$the_query = new WP_Query( $_args );

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post