我用这个脚本用用户的注销时间更新数据库中的一个表,然后当他们下次登录时,这些数据以“上次登录:日期时间”的形式显示。
然而,这不起作用,希望得到一些帮助。
发布于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);
数据的显示工作正常,只是更新表。提前感谢
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);
感谢大家的帮助:)