WordPress 後臺用戶列表添加上次登錄時間(代碼版)

上次推薦瞭使用 WP Last Login 來顯示用戶上次登錄時間,但是它隻能顯示日期,不顯示具體時間,今天分享下代碼實現的方法,支援顯示到秒。

last-login-wpdaxue_com

將下面的代碼添加到當前主題的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
 * WordPress 後臺用戶列表添加上次登錄時間
 * https://www.wpdaxue.com/wp-user-last-login-date.html
 */
// 創建一個新字段存儲用戶登錄時間
function insert_last_login( $login ) {
	global $user_id;
	$user = get_userdatabylogin( $login );
	update_user_meta( $user->ID, 'last_login', current_time( 'mysql' ) );
}
add_action( 'wp_login', 'insert_last_login' );
 
// 添加一個新欄目“上次登錄”
function add_last_login_column( $columns ) {
	$columns['last_login'] = '上次登錄';
	return $columns;
}
add_filter( 'manage_users_columns', 'add_last_login_column' );
 
// 顯示登錄時間到新增欄目
function add_last_login_column_value( $value, $column_name, $user_id ) {
	$user = get_userdata( $user_id );
	if ( 'last_login' == $column_name && $user->last_login )
		$value = get_user_meta( $user->ID, 'last_login', ture );
	else $value = '從未登錄';
	return $value;
}
add_action( 'manage_users_custom_column', 'add_last_login_column_value', 10, 3 );

/**
* WordPress 後臺用戶列表添加上次登錄時間
* https://www.wpdaxue.com/wp-user-last-login-date.html
*/
// 創建一個新字段存儲用戶登錄時間
function insert_last_login( $login ) {
global $user_id;
$user = get_userdatabylogin( $login );
update_user_meta( $user->ID, ‘last_login’, current_time( ‘mysql’ ) );
}
add_action( ‘wp_login’, ‘insert_last_login’ ); // 添加一個新欄目“上次登錄”
function add_last_login_column( $columns ) {
$columns[‘last_login’] = ‘上次登錄’;
return $columns;
}
add_filter( ‘manage_users_columns’, ‘add_last_login_column’ ); // 顯示登錄時間到新增欄目
function add_last_login_column_value( $value, $column_name, $user_id ) {
$user = get_userdata( $user_id );
if ( ‘last_login’ == $column_name && $user->last_login )
$value = get_user_meta( $user->ID, ‘last_login’, ture );
else $value = ‘從未登錄’;
return $value;
}
add_action( ‘manage_users_custom_column’, ‘add_last_login_column_value’, 10, 3 );

代碼添加瞭一個自定義字段來存儲登錄時間,所以隻能顯示代碼添加後統計到的數據。

發佈留言