上次登录时间的PHP脚本

时间:2014-09-17 作者:Matt Wilkinson

我用这个脚本用用户的注销时间更新数据库中的一个表,然后当他们下次登录时,这些数据以“上次登录:日期时间”的形式显示。

然而,这不起作用,希望得到一些帮助。

发布于functions.php

function userloginvarset($login){
    global $user_ID;
    global $userlogininfo;
    $userlogininfo = get_user_by(\'login\',$login);
}
add_action(\'wp_login\',\'userloginvarset\');

function last_login($login) {
    update_usermeta($userlogininfo->ID, \'last_login\', current_time(\'mysql\'));
}

add_action(\'wp_logout\',\'last_login\');

function get_last_login($user_id) {
    $last_login = get_user_meta($user_id, \'last_login\', true);
    $date_format = get_option(\'date_format\') . \' \' . get_option(\'time_format\');
    $the_last_login = mysql2date($date_format, $last_login, false);
    echo $the_last_login;
}
并在中发布page.php

global $userdata;
get_currentuserinfo();

echo(\'Welcome \'.$userdata->display_name.\'!</br>\');
_e(\'Last login:\');
get_last_login($userdata->ID);
数据的显示工作正常,只是更新表。提前感谢

2 个回复
SO网友:Matt Wilkinson

我找到了。

经过大量的研究,我找到了登录并获取用户数据的方法,在我寻找的过程中,我找到了我想要的确切答案。

function users_last_login() {
    $cur_login = current_time(\'mysql\');
    $userinfo = wp_get_current_user();
    update_user_meta( $userinfo->ID, \'last_login\', $cur_login );
}
add_action(\'clear_auth_cookie\', \'users_last_login\', 10);
感谢大家的帮助:)

SO网友:Philip Downer

第二个函数last\\u login引用的$userloginfo变量不在函数的作用域内。

请尝试以下操作:

function last_login($login) {
  global $userlogininfo;
  update_usermeta($userlogininfo->ID, \'last_login\', current_time(\'mysql\'));
}

结束

相关推荐

如何安排PHP文件以支持多种类型的页面?

我是WordPress开发新手(我在网页设计/开发方面所做的最多的工作就是创建基本的HTML网站);所以这可能是一个非常简单的问题,但我正在尝试创建一个多页网站。我想要3个静态页面,一个主页,关于页面和公文包页面,以及一个使用WordPress后端填充的博客。起初,我打算把博客放在一个单独的子域上(例如。blog.example.com), 然而,我希望在所有页面上填充一个最近帖子的列表,因此我希望将所有帖子保持在同一个域中。但是,如果我把index.php, about.php, portfolio.p