我有WordPress上的帖子列表。我希望先显示3个特定的(以任何顺序排列),然后其余的按按日期排序。
这是一段代码:
order_by="date"
sort_order="DESC"
答案 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'));