обновить и восстановить эскизы для WordPress мультисайта - PullRequest
0 голосов
/ 24 февраля 2020

Для моих многосайтовых установок (с более чем 1500 сайтами на одном из них) я ищу наиболее эффективный способ изменить миниатюру сайта на 300x300. На одном сайте вы можете легко сделать это, изменив настройки мультимедиа, а затем запустив плагин регенерировать миниатюры. Я не хочу делать это вручную для всех сайтов, поэтому я думаю о том, как сделать это с помощью кода.

Установка размера эскиза - это часть, которую я могу понять. Я просто сделаю al oop, который перебирает все сайты в сети, и использую код для обновления настроек по умолчанию thumbnailsettings:

if (function_exists('add_theme_support')) { 
    add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 300, 300, true ); // default thumbnail size 
}

Но я не могу понять, как выполнить регенерацию, так как Я не могу найти совет, как это зашифровать. Когда я ищу это, я просто нахожу разработчиков, рекомендующих плагин регенерации эскизов. Кроме того, с кодом я немного скептически отношусь к этому, он станет слишком тяжелым для моего wpmu.

Есть ли какой-нибудь код / ​​плагин, который может делать то, что я хочу? (восстановить эскизы для всей сети?)

1 Ответ

1 голос
/ 24 февраля 2020

С wp cli в командной строке вы можете использовать Регенерация носителя для каждой веб-страницы:

wp media regenerate -url=https://sub1.example.com 

wp media regenerate -url=https://sub2.example.com 

Тогда для большого количества сайтов вы можете использовать все oop, который может выглядеть следующим образом:

for i in sub1.example.com sub2.example.com sub3.example.com
do wp media regenerate -url=https://$i --yes
done

Для каждого веб-сайта в списке i командная строка восстанавливает медиа.

Я добавил опцию --yes, чтобы Ответить да подтверждающее сообщение.

...