侧边栏壁纸
  • 累计撰写 10 篇文章
  • 累计创建 8 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

WordPress用户管理优化

云大北
2024-05-09 / 0 评论 / 0 点赞 / 51 阅读 / 0 字
温馨提示:
本文最后更新于2024-07-04,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

近期公司运维的站点遭遇了恶意注册问题, 大量IP注册账号, WordPress后台并没有分辨的能力, 遂添加以下功能进行记录与追踪, 以下代码需添加到主题或子主题的 functions.php 内

WordPress后台用户列表添加注册时间, 并添加注册时间排序

add_filter('manage_users_columns', function($column_headers){
	$column_headers['registered'] = '注册时间';
	return $column_headers;
});
add_filter('manage_users_custom_column', function($value, $column_name, $user_id){
	if($column_name=='registered'){
		return get_date_from_gmt(get_userdata($user_id)->user_registered);
	}else{
		return $value;
	}
},11,3);
add_filter('manage_users_sortable_columns', function($sortable_columns){
	$sortable_columns['registered'] = 'registered';
	return $sortable_columns;
});

增加注册时IP地址记录

function log_ip($user_id){
	$ip = $_SERVER['REMOTE_ADDR']; 
	update_user_meta($user_id, 'signup_ip', $ip); 
}
add_action('user_register', 'log_ip');
 
// 添加IP地址栏目
function signup_ip($column_headers) {
	$column_headers['signup_ip'] = __('IP地址', 'signup_ip');
	return $column_headers;
}
if ( is_multisite() ) {
	// 多站点支持
	add_filter('wpmu_users_columns', 'signup_ip');
} else {
	// 单站点支持
	add_filter('manage_users_columns', 'signup_ip');
}
 
// 格式化输出内容 
function ripms_columns($value, $column_name, $user_id) {
	if ( $column_name == 'signup_ip' ) {
		$ip = get_user_meta($user_id, 'signup_ip', true);
		if ($ip != ""){
			$ret = '<em>'.__($ip, 'signup_ip').'</em>';
			return $ret;
		} else {
			$ret = '<em>'.__('暂无数据', 'signup_ip').'</em>';
			return $ret;
		}
	}
	return $value;
}
add_action('manage_users_custom_column',  'ripms_columns', 10, 3);

评论区