批量删除用户错误URI太大

时间:2013-07-31 作者:am71722

我试图一次删除数千个用户。看到使用“屏幕选项”菜单一次最多只能显示999条用户记录后,我想这可能没问题。但单击delete后,我得到一个“RequestURI太大”错误。

我如何删除这些用户而不一次删除10个或20个?

2 个回复
最合适的回答,由SO网友:am71722 整理而成

您可以直接在数据库上运行SQL查询。只需确保在开始之前备份数据库即可达尔巴布

dalbaeb留下的链接解决了我的问题:http://www.scriptol.com/wordpress/mass-delete-users.php

它删除所有必需的记录

谢谢大家!

SO网友:s_ha_dum

我会尽量避免使用SQL。使用WordPress核心函数是可能的,但可能不是必需的,而且更容易出错。

你可以使用get_users()WP_User_Query 要检索用户,但考虑到您只想保留两个用户,并且只需要ID 对于wp_delete_user 那些相当重。我只需在用户表上运行一个快速查询并循环遍历它。

$users = $wpdb->get_col("SELECT ID FROM {$wpdb->users} WHERE ID NOT IN (1,2)");
// var_dump($users); // debug
foreach ($users as $u) {
  wp_delete_user($u);
}
That is irreversible.

显然,您必须提供两个用户ID为您要保留的用户提供。

测试垃圾数据,确保这是您真正想要做的。还请注意,除非传递第二个参数wp_delete_user 将删除与已删除用户关联的帖子。

如果$reassign参数未分配给用户ID,则将删除该用户的所有帖子。传递要删除的用户ID的操作“delete\\u user”将在重新分配或删除帖子后运行。还将删除该用户ID的用户元。

结束

相关推荐

BuddyPress-将配置文件字段添加到组>成员目录

我正在尝试将自定义配置文件字段添加到显示在Group>Single template上的成员配置文件中,但bp_member_profile_data 似乎什么都没还。将其添加到members循环时效果良好。php:<?php if ( bp_get_member_profile_data( \'field=Profile:\' ) ) : ?> <?php echo \'<BR><span class=memberslabel>Profile: