如何按计票数显示帖子,如果没有值,则继续显示没有选票的最新帖子?

时间:2014-04-09 作者:Billy

也许有人能帮我。我想通过投票显示帖子。用户只能向上投票。所以,我想要的是——投票最多的帖子排在最前面,然后是没有投票的最新帖子。以下代码的问题是,只有在至少有一票(+1)的情况下才会显示帖子。我已经测试过了,它只按我想要的方式对帖子进行排序,但是如果没有投票值,如何继续循环?

$args = array(

\'post_type\' => \'topic-post\',

\'posts_per_page\' => -1,

\'order\' => \'DESC\',

\'meta_key\' => \'_topic_post_votes\',

\'orderby\' => \'meta_value_num\',

\'meta_query\' => array(

array(

\'key\' => \'_topic\',

\'value\' => array( $topic_id ),

\'compare\' => \'IN\',

)

),

\'post_status\' => $status

);

1 个回复
SO网友:Maruti Mohanty

“orderby”参数采用一个回退值,在这里,当投票值不可用时,您希望获得按发布日期排序的帖子。因此,您只需将“date”附加到orderby参数,如下所示,即可按照日期对循环中的其余帖子进行排序:--

\'orderby\' => \'meta_value_num date\',
有关更多详细信息,请查看Codex

结束

相关推荐

Adding pagination to WP_Query

我有以下循环(这是在single 页面,而不是index.php):$top_meta_cat_args = array( \'posts_per_page\' => 9, \'post_type\' => \'post\', \'meta_key\' => \'top-radio\', \'meta_value\' => \'top-yes\', \'post_status\' =&g