
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何删除个人数据
WP集市
2025-08-30
【WordPress教程】
1089人已围观
-
先唠唠为啥要删数据。WordPress这玩意儿吧,用户注册了总得存邮箱名儿啊地址啥的,但欧盟搞了个GDPR规定,用户有权要求你彻底删除他的个人信息。这时候就不能简单从后台点“删除用户”了事——数据库里可能还藏着零碎数据呢,得用WordPress自带的“个人数据删除”功能来大扫除。
-
操作路径其实藏得有点深:进后台找【工具】→【擦除个人数据】。这里不是直接删,得先提交个申请,填用户邮箱,系统会发确认邮件给用户(防止你乱删)。用户点了确认链接,数据才会进入“待擦除”队列。
-
关键来了:光靠默认流程可能删不干净。比如你装了某插件,它在自定义表里存了用户订单记录,这时候就得用钩子扩展删除逻辑。举个栗子,在主题的functions.php里加段代码:
add_filter('wp_privacy_personal_data_erasers', 'my_plugin_register_eraser');
function my_plugin_register_erasers($erasers) {
$erasers['my-plugin-slug'] = array(
'eraser_friendly_name' => '我的插件数据清理器',
'callback' => 'my_plugin_data_eraser',
);
return $erasers;
}
function my_plugin_data_eraser($email) {
$user = get_user_by('email', $email);
global $wpdb;
$wpdb->delete( $wpdb->prefix . 'my_plugin_data', array( 'user_id' => $user->ID ) );
return array(
'items_removed' => true,
'messages' => array('已移除插件关联数据'),
'done' => true,
);
}
这代码干的事儿:挂钩子注册个清理器,当用户触发删除时,顺带把插件自定义表里这用户的数据记录也撸掉。
-
注意啊,数据库操作有风险,记得先备份!还有那种用户评论之类的内容,默认会匿名化处理(显示为“已删除用户”),要是想连评论也物理删除,得另写逻辑遍历wp_comments表。
-
最后吐槽下:WordPress这套机制虽然合规,但忒绕了。用户得确认邮件,管理员得手动批准,开发者还得写扩展代码…不过嘛,隐私保护本来就是件麻烦事,凑合用吧。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
