在wordpress中x天后自动删除所有作者及其帖子

时间:2014-08-27 19:16:39

标签: wordpress author

我想询问是否有可能在注册之日起x天后自动删除所有用户作者及其帖子。 例如,如果作者在注册后写了帖子,则在x天后,作者和帖子都将被自动删除。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。正如本文Auto delete Wordpress users according to time since registering?中所解释的那样, 通过插入以下代码,您可以删除超过30天的注册用户。         

if(!wp_next_scheduled('my_dailyClearOut')){
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) > 30"); 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');

不幸的是没有使用" SELECT ID FROM"但适用于" DELETE FROM"

工作:         

if(!wp_next_scheduled('my_dailyClearOut')) {
wp_schedule_event(time(), 'daily', 'my_dailyClearOut'); }
function my_clearOldUsers() { global $wpdb; $query = $wpdb->prepare("DELETE FROM $wpdb->users WHERE datediff(now(), user_registered) > 30"); 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');

现在问题是它也消除了管理员。

是否有办法从特定角色(例如作者)中删除超过30天的注册用户?

或删除除管理员和编辑器以外的所有用户?

非常感谢!