WordPress按ID排序,然后按日期排序

时间:2018-06-20 08:15:02

标签: wordpress

我有WordPress上的帖子列表。我希望先显示3个特定的(以任何顺序排列),然后其余的按按日期排序

这是一段代码:

order_by="date"
sort_order="DESC"

1 个答案:

答案 0 :(得分:0)

可以用不同的方法来实现。这是其中之一: 将所有ID按日期排序,然后在给定ID之前添加它们,然后按post__in参数排序。

global $wpdb;
$post_ids=array();
$sql_results=$wpdb->get_results("select ID from $wpdb->posts where 
                                post_status='publish' and post_type='post'
                                order by date desc");
foreach($sql_results as $sr){
$post_ids[]=$sr->ID;
}

$post_ids_pre=array(123,122,222);//these are the posts which should appear first;
$post_ids_pre=array_merge($post_ids_pre,$post_ids);

$final_posts=get_posts(array("post__in"=>$post_ids_pre,'orderby'=>'post__in'));