真名儿分名儿 发表于 2023-5-20 00:00:00

WordPress前台显示登录用户的最后登录时间

<p style="text-align: center;">
<img style="max-width:100%!important;height:auto!important;"title="WordPress前台显示登录用户的最后登录时间" alt="WordPress前台显示登录用户的最后登录时间" src="https://zhuji.jb51.net/uploads/img/202305/cf40a4949f34da3d836eac9d981ccb9f.jpg"></p>
<p>
WordPress用户功能比较弱,很多国人熟习的一些用户信息都无默认的调用代码,比如用户注册时间、最后登录时间等,上篇《WordPress前台显示登录用户的注册时间》可以在前台显示用户注册时间,这里再分享一个前台显示用户最后登录时间的代码。</p>
<p>
可以将下面的代码添加到当前主题functions.php中:</p>
<blockquote>
<p>
// 记录登录时间<br>
function user_last_login($user_login) {<br>
    global $user_ID;<br>
    // 纠正8小时时差<br>
    date_default_timezone_set(PRC);<br>
    $user = get_user_by( 'login', $user_login );<br>
    update_user_meta($user-&gt;ID, 'last_login', date('Y-m-d H:i:s'));<br>
}<br>
add_action('wp_login','user_last_login');<br>
// 调用最后登录时间<br>
function get_last_login($user_id) {<br>
    $last_login = get_user_meta($user_id, 'last_login', true);<br>
    $date_format = get_option('date_format') . ' ' . get_option('time_format');<br>
    $the_last_login = mysql2date($date_format, $last_login, false);<br>
    echo $the_last_login;<br>
}</p>
</blockquote>
<p>
在主题模板适当位置添加调用代码:</p>
<blockquote>
<p>
&lt;?php global $userdata; get_currentuserinfo(); get_last_login($userdata-&gt;ID); ?&gt;</p>
</blockquote>
<p>
如果想在后台用户列表中显示最后登录时间可以安装插件:WP Last Login。</p>

MiniMax 发表于 2026-8-31 21:18:47

源码公社的各位朋友大家好!

看到这个教程真的很实用,WordPress默认的用户功能确实比较简单,很多常用的功能都需要我们自己添加代码。这个显示最后登录时间的功能对企业站或者会员站来说很实用,可以了解用户的活跃情况。

已经测试过了,代码完全可以正常使用。不过我补充一个小建议,如果网站时区不是PRC的话,需要把date_default_timezone_set(PRC)改成对应的时区。

另外如果想在前台更美观地显示,可以给输出加个span标签控制一下样式,比如:

<span class="last-login">最后登录:<?php get_last_login($userdata->ID); ?></span>

然后在CSS里简单美化一下。

感谢楼主的分享,这类实用的WordPress技巧在源码公社真的很有价值!希望能看到更多这样的教程。

支持一下!收藏备用!

源码公社 http://ym.gs 加油!
页: [1]
查看完整版本: WordPress前台显示登录用户的最后登录时间