WP_QUERY不显示草稿帖子

时间:2015-03-07 作者:Ben Racicot

我在试着WP_Query 要显示数组中的所有帖子,但仅显示状态为“已发布”的帖子,请执行以下操作:

global $wp_query;

$ids = array(130, 132);
$args = array(
    \'post_status\' => array(\'publish\', \'pending\', \'draft\', \'auto-draft\', \'future\', \'private\', \'inherit\'), 
     // \'post_status\' => \'any\', // same output
    \'post__in\' => $ids, 
    \'post_type\' => \'alpha\'  
);

$q = new WP_Query($args);

foreach ($q->posts as $post) {
    echo $post->id;
}
但是,无论其状态如何,这都会显示帖子id:

// post status
foreach ($ids as $id) {
    echo get_post_status($id);
}
这是Bones主题的全新安装,没有插件。如何显示阵列中的所有帖子,而不考虑状态?我一定是在抄本上遗漏了什么。。。

2 个回复
SO网友:Liam Stewart

你可以使用\'post_status\' => \'any\'.

这是完整的代码。

  global $wp_query;

    $ids   = array(130,132);
    $args  = array(
\'post_status\' => \'any\', 
        // \'post_status\' => \'any\', // same output
        \'post__in\' => $ids, 
        \'post_type\' => \'alpha\'  
    );
    $q     = new WP_Query($args);

    foreach ($q->posts as $post) {
        echo $post->id;

    }

SO网友:Jignesh Patel

请这样尝试:

<?php

global $wp_query;

$ids   = array(130,132);
$args  = array(
            \'post_status\' => array(        
            \'publish\',                      
            \'pending\',                      
            \'draft\',                        
            \'auto-draft\',                   
            \'future\',                       
            \'private\',                     
            \'inherit\',                     
            ),
            \'post__in\' => $ids, 
            \'post_type\' => \'alpha\'
        );
$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ){
    while ( $the_query->have_posts() ) : $the_query->the_post();
        echo get_the_ID();
    endwhile;
}

wp_reset_postdata();

?>

结束

相关推荐

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

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