DELETE_USER_META:如何删除给定用户的所有元数据(不带SQL)

时间:2016-08-10 作者:Pierre

在多站点上,我删除了一个用户:

wpmu\\u delete\\u user($user\\u id);

很好,但除非我感到困惑,否则它不会删除此用户可能存在的元数据。。。

delete\\u user\\u meta()似乎是执行此操作的函数,但我不知道如何在不输入元键的情况下删除所有元数据。(我想避免直接在wp\\u usermeta表上编写删除查询)

谢谢你的帮助Pierre

1 个回复
SO网友:Rup

是的,它确实删除了usermeta。Here\'s the code it uses:

$meta = $wpdb->get_col( $wpdb->prepare(
                      "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
foreach ( $meta as $mid )
    delete_metadata_by_mid( \'user\', $mid );
中有相同的代码wp_delete_user (对于非多站点的情况)并且它们使用相同的模式删除分类元数据、post元数据等。因此,这似乎是可以接受的方式,无需直接删除。

相关推荐

如何使用GET_USERS()过滤USER_STATUS字段上的用户列表

我只想使用get\\u users()获取用户列表,但在字段user\\u status=0上进行筛选,以便从列表中删除垃圾邮件和未激活的用户。这不起作用:get_users( \'user_status=0&orderby=ID&order=desc&number=\' . $limit ); 这也行不通:$new_users = get_users( [ \'orderby\' => \'ID\', \'order\'