如何在WordPress中显示用户上次登录日期(使用或不使用插件)插图

如果您的 WordPress 网站有很多用户,那么审核谁在真正使用网站就非常重要。例如,如果您有很多管理员,您可能希望定期削减用户。

这时,掌握 WordPress 用户的最后登录日期就会很有帮助。在这篇文章中,我们将启用用户的最后登录时间,并对其进行排序,这样你就能看到谁有一段时间没有登录了。

首先,我们将使用一个免费插件来实现这一功能:

使用插件显示 WordPress 用户的最后登录日期

显示 WordPress 用户上次登录时间的最简单方法是使用 When Last Login 插件。

安装并启用插件后,你会在用户列表中看到一个新列。

如何在WordPress中显示用户上次登录日期(使用或不使用插件)插图1

用户在 WordPress 用户列表中的最后登录时间

如果用户在添加插件后没有登录过,则会显示 “Never”。

手动显示用户上次登录日期代码片段

如果你熟悉通过 functions.php 或代码片段插件在网站上添加代码片段,就可以用它来添加用户上次登录时间。

这个代码片段有几个功能,首先记录用户登录时间并保存在 “last_login” 用户元中。它还会在管理面板的用户列表中添加一个可排序的 “Last Login” 管理列。最后,它允许您通过 [lastlogin] 简码显示用户的最后登录时间。通过使用 user_id 变量 [lastlogin user_id=2],该简码还可显示特定用户的最后登录信息。

ID, 'last_login', time() );
}

//Register new custom column with last login time
add_filter( 'manage_users_columns', 'smartwp_user_last_login_column' );
add_filter( 'manage_users_custom_column', 'smartwp_last_login_column', 10, 3 );

function smartwp_user_last_login_column( $columns ) {
 $columns['last_login'] = 'Last Login';
 return $columns;
}

function smartwp_last_login_column( $output, $column_id, $user_id ){
 if( $column_id == 'last_login' ) {
 $last_login = get_user_meta( $user_id, 'last_login', true );
 $date_format = 'M j, Y';
 $hover_date_format = 'F j, Y, g:i a';
 
 $output = $last_login ? '
'.human_time_diff( $last_login ).'
' : 'No record'; } return $output; } //Allow the last login columns to be sortable add_filter( 'manage_users_sortable_columns', 'smartwp_sortable_last_login_column' ); add_action( 'pre_get_users', 'smartwp_sort_last_login_column' ); function smartwp_sortable_last_login_column( $columns ) { return wp_parse_args( array( 'last_login' => 'last_login' ), $columns ); } function smartwp_sort_last_login_column( $query ) { if( !is_admin() ) { return $query; } $screen = get_current_screen(); if( isset( $screen->base ) && $screen->base !== 'users' ) { return $query; } if( isset( $_GET[ 'orderby' ] ) && $_GET[ 'orderby' ] == 'last_login' ) { $query->query_vars['meta_key'] = 'last_login'; $query->query_vars['orderby'] = 'meta_value'; } return $query; } //Add [lastlogin] shortcode function smartwp_lastlogin_shortcode( $atts ) { $atts = shortcode_atts( array( 'user_id' => false, ), $atts, 'lastlogin' ); $last_login = get_the_author_meta('last_login', $atts['user_id']); if( empty($last_login) ){ return false; }; $the_login_date = human_time_diff($last_login); return $the_login_date; } add_shortcode( 'lastlogin', 'smartwp_lastlogin_shortcode' );

添加此代码段后,用户的登录信息将被记录下来,你将看到一个新的最后登录列。如果用户在添加后没有登录,则会显示 “No record” 信息。

如何在WordPress中显示用户上次登录日期(使用或不使用插件)插图2

如果您需要知道确切的登录时间,也可以将鼠标悬停在时间上,查看完整的时间戳。

如何在WordPress中显示用户上次登录日期(使用或不使用插件)插图3

最重要的是,如果您熟悉 PHP,就可以轻松定制该功能的各个方面。

该代码片段还增加了在前端显示用户上次登录时间的功能。例如,您可以在网站的作者框中加入 [lastlogin] 简码,让用户看到作者最后一次在线的时间。

希望这篇快速指南对您展示如何显示用户上次登录 WordPress 的时间有所帮助。如果您有任何问题,请在下面的评论中告诉我。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。