WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress如何删除个人数据

查看 WP集市 的更多文章WP集市 2025-08-30 【WordPress教程】 1089人已围观

  1. 先唠唠为啥要删数据。WordPress这玩意儿吧,用户注册了总得存邮箱名儿啊地址啥的,但欧盟搞了个GDPR规定,用户有权要求你彻底删除他的个人信息。这时候就不能简单从后台点“删除用户”了事——数据库里可能还藏着零碎数据呢,得用WordPress自带的“个人数据删除”功能来大扫除。

  2. 操作路径其实藏得有点深:进后台找【工具】→【擦除个人数据】。这里不是直接删,得先提交个申请,填用户邮箱,系统会发确认邮件给用户(防止你乱删)。用户点了确认链接,数据才会进入“待擦除”队列。

  3. 关键来了:光靠默认流程可能删不干净。比如你装了某插件,它在自定义表里存了用户订单记录,这时候就得用钩子扩展删除逻辑。举个栗子,在主题的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,
    );
}

这代码干的事儿:挂钩子注册个清理器,当用户触发删除时,顺带把插件自定义表里这用户的数据记录也撸掉。

  1. 注意啊,数据库操作有风险,记得先备份!还有那种用户评论之类的内容,默认会匿名化处理(显示为“已删除用户”),要是想连评论也物理删除,得另写逻辑遍历wp_comments表。

  2. 最后吐槽下:WordPress这套机制虽然合规,但忒绕了。用户得确认邮件,管理员得手动批准,开发者还得写扩展代码…不过嘛,隐私保护本来就是件麻烦事,凑合用吧。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 280 篇 | 评论 0 次
最新文章