8ответ(ов) в теме
Павел (Litbes)
не в сети 1 месяц
На сайте с 03.08.2018
Участник
Тем 158
Сообщения 732
1
20:27
Версия WP-Recall: 16.17.15

Прошу помощи:
Один больной на всю голову тролль атакует сайт под разными никами уже целую неделю, и многим авторам испортил настроение, рейтинг и репутацию, ставя им минусы в комментариях, накручивая рейтинг записей, и т.п.

Можно ли сделать так, чтобы после удаления тролля (бан), все его действия, в т.ч. коментарии, баллы, оценки и т.д. автоматически удалялись?

1
Андрей CS
не в сети 3 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16854
2
08:49

Какого то готового функционала под подобную задачу нет, придется что то выдумывать, я бы прицепился к хуку delete_user, как правило, именно на него вешают функции очистки данных пользователя на сайте, но 100%-гарантии нет, что все данные могут быть удалены.
Будет выглядеть примерно так:
Размещаете код

add_action( 'wp', 'my_delete_user_data', 10 );
function my_delete_user_data() {
	
	if ( isset($_GET['userdata-delete']) && $user_id = $_GET['userdata-delete']) {
		do_action('delete_user', $user_id);
                wp_die('Данные пользователя удалены!');
	}
}

далее в адресной строке набираете адрес http://вашдом.ен/?userdata-delete=123
где 123 - идентификатор пользователя данные которого хотите удалить.
Будет запущена процедура очистки сайта от данных пользователей, при этом сам аккаунт пользователя должен остаться.
Предложенный код потом удалите или закомментируйте.

4
Павел (Litbes)
не в сети 1 месяц
На сайте с 03.08.2018
Участник
Тем 158
Сообщения 732
3
09:38

Спасибо, Андрей, за помощь! Сегодня после обеда попробую)

0
Андрей CS
не в сети 3 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16854
4
09:50

комментарии скорее всего не будут удалены, если это также необходимо, то дополнительно добавьте код

add_action( 'delete_user', 'my_delete_user_comments', 10 );
function my_delete_user_comments( $user_id ) {
	global $wpdb;
	return $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->comments WHERE user_id='%d'", $user_id ) );
}

тогда при удалении пользователя и проведении процедуры выше будут удаляться также комментарии этого пользователя, будьте осторожны, в корзине их тоже не найдете.

3
mavr_hahaha
не в сети 2 месяца
На сайте с 08.11.2018
Участник
Тем 104
Сообщения 265
5
11:18

Круто, на основе этого было бы совсем не плохо новый доп создать.

1
Павел (Litbes)
не в сети 1 месяц
На сайте с 03.08.2018
Участник
Тем 158
Сообщения 732
6
18:40

Все сделал по рекомендациям Андрея, и... магия произошла! 💥
Всё, что не нужно - очистилось и удалилось, всё, что нужно - осталось. Это просто чудо какое-то ☀
Пойду, отправлю Волшебнику на чашечку кофе ☕

P.S. Превратить этот волшебный код в небольшой доп - это здравая мысль: когда нужно рубить головы - активировал его, потом, после казни - деактивировал и всё. 🔧

Спасибо огромное, Андрей!

1
Андрей CS
не в сети 3 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16854
7
20:14

Спасибо, пошел за кофе)
Идея насчет допа хорошая, может я, а может кто то другой обязательно опубликует.

2
Павел (Litbes)
не в сети 1 месяц
На сайте с 03.08.2018
Участник
Тем 158
Сообщения 732
8
09:06

Андрей CS сказал(а)
Идея насчет допа хорошая, может я, а может кто то другой обязательно опубликует.

Дополнительная информация для тех, кто возьмётся за создание подобного допа: предложенный вариант не удаляет следы тролля из форума. Его комментарии из Prime-forum необходимо удалять вручную.

0
Вы не имеете права на публикацию сообщений в этой теме