Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как массово удалить все новости на модерации?

Как массово удалить все новости на модерации?


     22.05.2021    Общие вопросы, MySQL    103

вопрос
Как массово удалить все новости на модерации? Новостей очень много, 606780 через админку нереально т.к займет уйму времени.

Ответил: Sander


Создать в корне сайта php файл и запускать его пока всё не будет удалено.
Если будет быстро выполняться (1-5 сек), то число 10000 можно увеличивать эмпирическим путем.
<?php
error_reporting ( E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
define ( 'DATALIFEENGINE', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );

require_once (ENGINE_DIR . '/classes/plugins.class.php');
include_once (ENGINE_DIR . '/classes/mysql.php');
include_once (ENGINE_DIR . '/data/dbconfig.php');
include_once (ENGINE_DIR . '/modules/functions.php');

$sql = $db->query('SELECT id FROM dle_post WHERE approve = 0 LIMIT 10000');
while ($row = $db->get_row($sql)) {
	deletenewsbyid($row['id']);
}
echo 'done';

3 комментария

Slavchik
Юзер

Slavchik - 23 мая 2021 04:45 -

Редактирование публикаций > Расширенный поиск новостей > Статус новостей: Ожидающие модерации новости - не?

Nimax
Юзер

Nimax - 23 мая 2021 06:47 -

Я написал, что такой вариант не подходит т.к таких новостей > 600к а если в DLE выводить по 1000 на страницу он начинает тупить и на это уйдет целый день

Nimax
Юзер

Nimax - 27 мая 2021 22:13 -

Спасибо! Все получилось

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх