WordPress后台用户列表默认是按名称来排序的,这样我们查看最近注册的用户就很不方便,那么如何按注册时间来排序呢?
将下面代码加到主题的functions.php里:
add_filter( 'manage_users_sortable_columns', 'erphpdown_modify_user_table_row_sortable' ); function erphpdown_modify_user_table_row_sortable( $columns ) { return wp_parse_args( array( 'reg' => 'registered' ), $columns ); } function erphpdown_modify_user_table( $column ) { $column['reg'] = '注册时间'; return $column; } add_filter( 'manage_users_columns', 'erphpdown_modify_user_table' ); function erphpdown_modify_user_table_row( $val, $column_name, $user_id ) { switch ($column_name) { case 'reg': $user = get_user_by("ID",$user_id); return get_date_from_gmt($user->user_registered); break; } return $val; } add_filter( 'manage_users_custom_column', 'erphpdown_modify_user_table_row', 10, 3 ); add_action( 'pre_user_query', 'erphpdown_users_search_order' ); function erphpdown_users_search_order($obj){ if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='reg' ){ if( !in_array($_REQUEST['order'],array('asc','desc')) ){ $_REQUEST['order'] = 'desc'; } $obj->query_orderby = "ORDER BY user_registered ".$_REQUEST['order'].""; } }
0 个评论