wordpress中get_posts的用法,官方描述如下:

<?php $args = array(
    
'numberposts'     => 5,
    
'offset'          => 0,
    
'category'        => ,
    
'orderby'         => 'post_date',
    
'order'           => 'DESC',
    
'include'         => ,
    
'exclude'         => ,
    
'meta_key'        => ,
    
'meta_value'      => ,
    
'post_type'       => 'post',
    
'post_mime_type'  => ,
    
'post_parent'     => ,
    
'post_status'     => 'publish' ); ?>

<?php $posts_array get_posts$args ); ?>

查看核心代码,可知其不支持多个orderby了, 解决办法就是要用万能的hook:

代码如下
  1. function my_order($order) {
  2.   global $wpdb;
  3.   $order = "{$wpdb->posts}.ID ASC, post_date DESC";
  4. }
  5. add_filter('posts_orderby', 'my_order');


随便说说

还可以输200