对有多种方法可以做到这一点,首先,我们需要解决wp_delete_user() 作用
你的第一个任务,也是最棘手的一个任务,是确定哪些帐户是垃圾邮件,哪些是真实的。如果你的网站定期获得新用户,这将是一次相当冒险的经历。
在下面的示例中,我们以两个值为目标email
帐户和meta_data
.
在这种情况下,我们可以通过解释电子邮件地址来判断它是否是垃圾邮件帐户。因此,让我们在数组中添加一个列表:
$emails = array(
\'[email protected]\',
\'[email protected]\',
\'[email protected]\',
);
然后我们有一个名为
points
:
$meta_key = \'points\';
在我们的例子中,我们知道如果元键值
10
, 那么它肯定是一个垃圾邮件用户。因此,我们设置值:
$meta_key = 10;
现在,让我们将其组合成一个函数:
function wpse_delete_users_by_email($emails, $meta_key, $meta_value) {
if (!is_array($emails)) return;
foreach ($emails as $email) {
// get user data via email
$user = get_user_by( \'email\', $email );
$user_id = $user->ID;
$user_email = $user->user_email;
// get
$meta_data = get_user_meta($user_id, $meta_key, TRUE);
// if meta data equals the meta value
if ($meta_data == $meta_value) {
// confirm that emails match
if ($user_email == $email) {
// must include this, or it will throw a \'call to undefined function\' error
require_once(ABSPATH.\'wp-admin/includes/user.php\' );
// delete spam user
wp_delete_user( $user_id );
// display results
echo \'<br>\' . $email;
}
}
}
}
简单的东西,但有时在处理垃圾邮件和机器人时,少一点头痛可能是有价值的。