WP массовое удаление большого количества вложений WPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 WP массовое удаление большого количества вложений WP

Сообщение Anonymous »

У меня есть старая установка WordPress, в которую в течение определенного периода времени импортировались повторяющиеся изображения.
В настоящее время имеется 3,8 миллиона неиспользуемых вложений изображений, которые необходимо очистить, удалив файлы, а также раздутые сообщения.
Я получаю все вложения, используя следующий запрос:

Код: Выделить всё

$attactments = $wpdb->get_results( $wpdb->prepare("SELECT a.ID AS postId FROM wp_posts AS a JOIN wp_posts AS p ON a.post_parent = p.ID WHERE a.post_type = 'attachment' AND p.post_type = 'customPost'") );
В результате у меня остается массив из 3,8 миллионов идентификаторов сообщений.
Я пытаюсь удалить их с помощью встроенной функции wp wp_delete_attachment", вот так:

Код: Выделить всё

foreach ($attactments as $attactment) {
echo "Deleting post ID: " . $attactment->postId . "\n";
wp_delete_attachment($attactment->postId, true);
}
Я запускаю его непосредственно со своего сервера, выполняя скрипт с помощью

Код: Выделить всё

wp eval-file script.php
Это займет больше времени, чем я мог себе представить, поскольку встроенная функция работает настолько медленно, что удаление одного вложения может занять целую минуту.
Есть ли способ ускорить процесс, возможно, запустив процесс очистки без встроенных функций WordPress? мне бы очень хотелось увидеть руководство или пример.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ttachments
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»