WordPress 技巧:按照用户注册时间排序

在 WordPress 后台,用户是按照用户名排序的,并且没有显示注册时间,如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,可以通过在当前主题的 functions.php 文件添加如下面的代码即可:

<br />
add_filter('manage_users_columns','wpjam_add_users_column_reg_time');<br />
function wpjam_add_users_column_reg_time($column_headers){<br />
	$column_headers['reg_time'] = '注册时间';<br />
	return $column_headers;<br />
}</p>
<p>add_filter('manage_users_custom_column', 'wpjam_show_users_column_reg_time',11,3);<br />
function wpjam_show_users_column_reg_time($value, $column_name, $user_id){<br />
	if($column_name=='reg_time'){<br />
		$user = get_userdata($user_id);<br />
		return get_date_from_gmt($user->user_registered);<br />
	}else{<br />
		return $value;<br />
	}<br />
}</p>
<p>add_filter( "manage_users_sortable_columns", 'wpjam_users_sortable_columns' );<br />
function ys_users_sortable_columns($sortable_columns){<br />
	$sortable_columns['reg_time'] = 'reg_time';<br />
	return $sortable_columns;<br />
}<br />
add_action( 'pre_user_query', 'wpjam_users_search_order' );<br />
function wpjam_users_search_order($obj){<br />
	if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='reg_time' ){<br />
		if( !in_array($_REQUEST['order'],array('asc','desc')) ){<br />
			$_REQUEST['order'] = 'desc';<br />
		}<br />
		$obj->query_orderby = "ORDER BY user_registered ".$_REQUEST['order']."";<br />
	}<br />
}<br />

该功能已经整合到 WPJAM Basic 插件中,现已免费提供下载,你只需要勾选下就可以移除!

最后的效果:

按照用户注册时间排序

标签:

热门文章