wordpress后臺用戶列表添加注冊時間同時可注冊時間排序2個方法
wp后面是沒有顯示注冊時間與排序這個功能了,是按用戶名排序了,下面我們一起來看2個實現后臺用戶列表添加注冊時間同時可注冊時間排序2個方法.
方法一
在wordpress的后臺,所有用戶默認是按照用戶名排序的,并且沒有顯示用戶的注冊時間,那么我們希望看到用戶注冊時間并且可以按照用戶的注冊時間進行升序或者是降序排序,接下來將介紹實現方法,感興趣的你可以參考下哈,希望可以幫助到你.
首先我們在用戶列表的頁面添加一列注冊事件,代碼如下:
- add_filter( 'manage_users_columns', 'my_users_columns' );
- function my_users_columns( $columns ){
- $columns[ 'registered' ] = '注冊時間';
- return $columns;
- }
然后通過manage_users_custom_column鉤子返回值:
- add_action( 'manage_users_custom_column', 'output_my_users_columns', 10, 3 );
- function output_my_users_columns( $var, $column_name, $user_id ){
- switch( $column_name ) {
- case "last_activity" :
- return get_user_meta($user_id, 'last_activity', true);
- case "registered" :
- return get_user_by('id', $user_id)->data->user_registered;
- case "sex" :
- return get_user_meta($user_id, 'sex', true);
- case "occ" :
- return get_user_meta($user_id, 'occ', true);
- case "qq" ://開源軟件:Vevb.com
- return get_user_meta($user_id, 'qq', true);
- break;
- }
- }
讓我們添加的這個“注冊時間”可以點擊,也就是添加鏈接并且右邊有一個小箭頭.
- add_filter( "manage_users_sortable_columns", 'wenshuo_users_sortable_columns' );
- function wenshuo_users_sortable_columns($sortable_columns){
- $sortable_columns['registered'] = 'registered';
- return $sortable_columns;
- }
最后,我們根據瀏覽器的url,重新設置wordpress的查詢函數.
- add_action( 'pre_user_query', 'wenshuo_users_search_order' );
- function wenshuo_users_search_order($obj){
- if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='registered' ){
- if( !in_array($_REQUEST['order'],array('asc','desc')) ){
- $_REQUEST['order'] = 'desc';
- }
- $obj->query_orderby = "ORDER BY user_registered ".$_REQUEST['order']."";
- }
- }
以上就是wordpress后臺用戶列表添加注冊時間以及按注冊時間排序的全部代碼,將以上代碼添加都主題的 functions.php 文件中即可.
方法二,代碼如下:
- <?php
- add_filter('manage_users_columns','wpjam_add_users_column_reg_time');
- function wpjam_add_users_column_reg_time($column_headers){
- $column_headers['reg_time'] = '注冊時間';
- return $column_headers;
- }
- add_filter('manage_users_custom_column', 'wpjam_show_users_column_reg_time',11,3);
- function wpjam_show_users_column_reg_time($value, $column_name, $user_id){
- if($column_name=='reg_time'){
- $user = get_userdata($user_id);
- return get_date_from_gmt($user->user_registered);
- }else{
- return $value;
- }
- }
- add_filter( "manage_users_sortable_columns", 'wpjam_users_sortable_columns' );
- function ys_users_sortable_columns($sortable_columns){
- $sortable_columns['reg_time'] = 'reg_time';
- return $sortable_columns;
- }
- add_action( 'pre_user_query', 'wpjam_users_search_order' );
- function wpjam_users_search_order($obj){
- if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='reg_time' ){
- if( !in_array($_REQUEST['order'],array('asc','desc')) ){
- $_REQUEST['order'] = 'desc';
- }
- $obj->query_orderby = "ORDER BY user_registered ".$_REQUEST['order']."";
- }
- }
將上面的保存為一個插件,上傳激活之后,就可以在用戶界面看到注冊時間,并且按照注冊時間排序了.
新聞熱點
疑難解答
圖片精選