私のWordPressサイトでは、スパムユーザーを除外するために電子メールによる確認の登録が必要です。アカウントをアクティブにしていないユーザーを電子メールで自動的に削除するにはどうすればよいですか。
X日前のユーザーを自動的に削除することは可能ですか?たとえば、ユーザーの年齢が7日でアクティブではない場合、アカウントは自動的に削除されます。私は毎日これをチェックしたいのですが。誰かがこれを行う方法を説明してもらえますか?
データベースでフィールド名tecla_users
を使用しています。
プラグインを無効にしたときにこれを停止するのに役立つ新しいカスタムプラグインを作成することで、このコードを含めることができます。
wp_schedule_event(time(), 'daily', 'my_dailyClearOut');
function my_clearOldUsers() {
global $wpdb;
$query = $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE datediff(now(), user_registered) > 7");
if ($oldUsers = $wpdb->get_results($query, ARRAY_N)) {
foreach ($oldUsers as $user_id) {
wp_delete_user($user_id[0]);
}
}
}
add_action('my_dailyClearOut', 'my_clearOldUsers');