欢迎
Short Answer about SQL queries:
您在第一个图像中的查询不正确。应该是这样的
SELECT * FROM wp_tom2users
它将选择表中的所有内容。如果它不工作,您可能需要向其中添加数据库名称,如
SELECT * FROM myDbName.wp_tom2users
.
上面提到的查询看起来很好,但可以通过添加如上所述的数据库名称来尝试。
Detailed answer to visualize the process:
由于您希望根据用户的订单删除某些用户,因此最好使用WordPress和WooCommerce中的现有函数,而不是使用直接SQL代码。
在WooCommerce中,有一个统计用户订单的功能。wc_get_customer_order_count
基于documentation 您需要将用户ID传递给此函数,它将返回订单数。
$oreder_count = wc_get_customer_order_count( $user_id );
因此,如果您为用户运行一个循环并计算他们的订单,您可以找到应该删除哪些用户。
以下代码可以在“管理”->“用户”中显示每个用户的订单计数,作为可排序列。
add_filter( \'manage_users_columns\', \'prefix5487_modify_user_columns\' );
function prefix5487_modify_user_columns( $column ) {
$column[\'orders\'] = __( \'Order count\' );
return $column;
}
add_filter( \'manage_users_custom_column\', \'prefix5487_user_order_column_value\', 10, 3 );
function prefix5487_user_order_column_value( $val, $column_name, $user_id ) {
switch ($column_name) {
case \'orders\' :
return wc_get_customer_order_count( $user_id );
default:
}
return $val;
}
add_filter( \'manage_users_sortable_columns\', \'prefix5487_make_registered_column_sortable\' );
function prefix5487_make_registered_column_sortable( $columns ) {
return wp_parse_args( array( \'orders\' => \'orders\' ), $columns );
}
现在,您可以根据订单数量对用户进行排序,并使用批量操作删除用户,确保您没有删除管理员用户。