在wordpress后台用户页面显示出用户注册时的ip地址,这个功能还是非常重要的,比如上次博主博客遇到恶意刷帖,10分钟被注册了几个垃圾账号,同步刷帖,如果能够在当时显示出注册时的IP地址,就能够及时的封禁IP!不至于花时间去查网站日志
操作步骤如下
1、创建一个新的插件目录并创建一个新的 PHP 文件,例如 user-registration-ip.php。
2、在 PHP 文件开头添加插件的基本信息,例如插件名称、版本等等。示例代码如下:
/**
* Plugin Name: User Registration IP
* Plugin URI: https://www.pengqi.club/
* Description: Displays the IP address of users when they register.
* Version: 1.0.1
* Author: Peng Qi
* Author URI: https://www.pengqi.club/
* License: GPL2
*/
3、添加一个钩子函数 user_registration_ip_column,该函数用于在用户管理页面添加一个新的 IP 地址列。示例代码如下:
function user_registration_ip_column( $columns ) {
$columns['user_ip'] = '用户IP';
return $columns;
}
add_filter( 'manage_users_columns', 'user_registration_ip_column' );
4、添加另一个钩子函数 user_registration_ip_value,该函数用于在新的 IP 地址列中显示每个用户的 IP 地址。示例代码如下:
function user_registration_ip_value( $value, $column_name, $user_id ) {
if ( 'user_ip' == $column_name ) {
$user = get_userdata( $user_id );
$ip_address = $user->user_registered;
$value = get_user_meta( $user_id, 'registration_ip', true );
}
return $value;
}
add_filter( 'manage_users_custom_column', 'user_registration_ip_value', 10, 3 );
5、最后,在注册新用户时将其 IP 地址保存到用户的元数据中。示例代码如下:
6、将 PHP 文件上传到插件目录中,然后在 WordPress 后台启用插件。现在,当您查看用户管理页面时,您将可以看到一个新的 IP 地址列,其中包含每个新用户注册时使用的 IP 地址。(别忘了在PHP开头添加<?php哟)
效果图: