当前位置:首页 > 行业动态 > 正文

纯代码为WordPress后台添加显示用户注册时间和登录IP记录

要在WordPress后台添加显示用户注册时间和登录IP记录,可以通过以下步骤实现:,,1. 在主题的 functions.php文件中添加以下代码:,,“ php,function add_user_ip_log($user_id) {, $user = get_userdata($user_id);, if ($user && isset($_SERVER['REMOTE_ADDR'])) {, $login_ip = $_SERVER['REMOTE_ADDR'];, update_user_meta($user_id, 'last_login_ip', $login_ip);, },},add_action('wp_login', 'add_user_ip_log');,,function display_user_ip_log($user_id) {, $user = get_userdata($user_id);, if ($user) {, $last_login_ip = get_user_meta($user_id, 'last_login_ip', true);, echo "用户ID: {$user_id}, 用户名: {$user->user_login}, 最后登录IP: {$last_login_ip}";, },},“,,2. 在 WordPress后台编辑用户资料页面,点击“查看用户资料”按钮,将显示用户的注册时间和最后登录IP。

为了在WordPress后台添加显示用户注册时间和登录IP记录,你可以按照以下步骤进行操作:

1、创建一个新的插件文件

在你的主题目录中创建一个新文件,命名为userlogininfo.php,这个文件将包含我们自定义的代码来显示用户注册时间和登录IP记录。

2、编写插件代码

userlogininfo.php文件中,输入以下代码:

<?php
/*
Plugin Name: User Login Info
Description: Display user registration time and login IP records in the WordPress dashboard.
Author: Your Name
Version: 1.0
*/
function user_login_info($columns) {
    $columns['registration_time'] = 'Registration Time';
    $columns['last_login'] = 'Last Login';
    $columns['login_ip'] = 'Login IP';
    return $columns;
}
add_filter('manage_users_columns', 'user_login_info');
function user_login_info_content($value, $column_name, $user_id) {
    switch ($column_name) {
        case 'registration_time':
            $registration_time = get_the_date('Ymd H:i:s', strtotime($user>user_registered));
            echo $registration_time;
            break;
        case 'last_login':
            $last_login = get_the_date('Ymd H:i:s', strtotime($user>last_login));
            echo $last_login;
            break;
        case 'login_ip':
            $login_ip = gethostbyaddr($_SERVER['REMOTE_ADDR']);
            echo $login_ip;
            break;
    }
}
add_action('manage_users_custom_column', 'user_login_info_content', 10, 3);
?>

这段代码首先定义了一个插件的名称和描述,然后通过添加过滤器和动作来修改管理员后台的用户列表列和内容,在user_login_info()函数中,我们向用户列表添加了三列:Registration TimeLast LoginLogin IP,在user_login_info_content()函数中,我们根据列名返回相应的值,对于registration_time列,我们使用get_the_date()函数获取用户的注册时间;对于last_login列,我们使用同样的方式获取用户的最后登录时间;对于login_ip列,我们使用gethostbyaddr()函数获取当前登录的IP地址。

3、激活插件

将你的插件文件上传到你的主题目录中,然后登录到WordPress后台,在左侧菜单中选择"插件",然后点击"添加新",在搜索框中输入"User Login Info"并安装它,安装完成后,启用插件,现在你应该能够在管理员后台的用户列表中看到新的列,显示用户的注册时间、最后登录时间和登录IP地址。

问题与解答:

Q1: 为什么在管理员后台的用户列表中没有看到新的列?

A1: 确保你已经正确地创建了插件文件并将其上传到主题目录中,检查插件名称和描述是否正确,并确保你已正确安装和启用插件,如果仍然没有看到新的列,请尝试重新登录WordPress后台或清除浏览器缓存。

Q2: 我如何修改插件以显示其他用户信息?

A2: 你可以通过修改user_login_info()函数中的$columns数组来添加或删除要显示的列,在user_login_info_content()函数中编写相应的逻辑来获取和显示这些额外的用户信息,你可以添加一个名为"Email Address"的列来显示用户的电子邮件地址,只需在$columns数组中添加一个新的键值对,然后在user_login_info_content()函数中使用适当的方法来获取用户的电子邮件地址即可。

0