WP_QUERY添加特定待定帖子

时间:2015-12-23 作者:Cito

我想在存档中检索特定用户的所有post\\u status->publish和那些post\\u status->pending的帖子。

这就是我现在的处境:

$custom_query_args = array(
    array(
        \'post_status\' =>\'pending\',
        \'author\' => 2),
    array(
        \'post_status\' =>\'publish\',
        \'author\' => \'any\'),
    \'relation\' => \'OR\' ,                    
   \'paged\' =>  get_query_var( \'paged\' )
);
$custom_query = new WP_Query( $custom_query_args );
有什么帮助吗?

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

不支持您的安装程序WP_Query.

一种方法是使用posts_where 的筛选器WP_Query还有其他可能的方法,比如从不同的查询中收集帖子ID)来调整SQL查询。

为了避免字符串替换,我们可以使用例如:

$custom_query_args = [
   \'post_type\'   => \'post\',
   \'post_status\' => \'publish\',
];

// Add filter
add_filter( \'posts_where\', \'wpse_where\' );

// Query
$custom_query = new WP_Query( $custom_query_args );

// Remove filter
remove_filter( \'posts_where\', \'wpse_where\' );
其中,自定义筛选器回调为:

function wpse_where( $where )
{
    global $wpdb;
    return $where . " OR ( 
             {wpdb->posts}.post_author = 2 
        AND  {wpdb->posts}.post_status = \'publish\'
        AND  {wpdb->posts}.post_type = \'post\'           
    ) ";
}
希望您可以根据自己的需要进行调整。

相关推荐

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

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