我有以下WP_Query参数:

$posts = new WP_Query(array(
        'post__in' => $postids,
        'meta_key' =>'ratings_average',
        'orderby'=>'meta_value_num',
        'order' =>'DESC',
    ));

$ postids 是从另一个WP_Query检索的ID数组。我的问题是,即使 $ postids 为空,Wordpress循环也会显示帖子。如果 $ postids 为空,我该如何管理它不显示任何帖子。

最佳答案

这不能直接解决post__in的问题,但我看不出为什么这行不通。

if(!empty($postids)){
    $posts = new WP_Query(array(
        'post__in' => $postids,
        'meta_key' =>'ratings_average',
        'orderby'=>'meta_value_num',
        'order' =>'DESC',
    ));
} else {
    //Do something else or nothing at all..
}

如您所见,WP_Query调用仅在$postids中包含值的情况下才会发生。如果没有,则不会调用WP_Query,并且循环将永远不会发生,就像查询返回0个帖子一样。

关于php - WordPress查询显示空post__数组中的帖子?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23247671/

10-11 05:15