Wordpress, заново перезалить библиотеку
Проблемы:
Часть изображений отсутствует в библиотеке (но все изображения есть на диске хостинга, по крайней мере должны быть)
Часть вложений (из-за этого или по другим причинам) не определяется как "медиафайл" в редакторе изображений.
Изображения хаотично разбросаны по папкам
Требуется перезалить библиотеку.
1. Обойти все записи.
В каждой записи, для каждого изображения (вложения) выполнить действия.
2. Скачать изображение на локальный диск(можно ли на директорию на сервере для ускорения?)
3. Закачать его обратно в библиотеку "из-под записи"
при этом файл автоматически (благодаря плагинам) вставится в уникальную для данной записи директорию (если в
директории есть такой же файл будет ли это проблемой?), привяжется к этой записи и , если превышает лимит,
продет процедуру resize.
4. Вставить в запись, с какой нибудь подписью (нужно для формирования [caption id="attachment_№")
5. Из свежевставленного изображения взять число wp-image-# и заменить этим номером числом число в wp-image-#
в исходном изображении
6. Из свежевставленного изображения взять ссылку src="xxx"
6.1. заменить этой ссылкой ссылку в исходном изображении
6.2. заменить/добавить (так как может отсутствовать) href в исходном изображении.
6.3 В [caption id="attachment_№"(при наличии, может отсутствовать) заменить № этим числом
7. удалить свежевставленное изображение из записи
8. Проверить имеется ли в коде исходного изображения класс my-image или my-image-min
Если нет
8.1 Если исходное изображение 1е в записи добавить my-image-min
8.2 Если исходное изображение не 1е в записи добавить my-image
(не знаю важно или нет но при добавление класса через редактор изображений классы size и wp-image меняются
местами)
На сколько я понимаю в результате таких действий должно (т.е. это является кончной целью):
1. Сформироваться новая библиотека.
2. Файлы изображений разложатся по папкам привязанных к записям, записи начнут ссылаться на новые залитые
изображения.
3. В записях появятся правильные wp-image-# (как в html коде так и в базах wp)
4. Изображения редактором изображений будут считаться "Медиафайлами" (в нем будет доступен выбор размера
изображения, и ссылка будет типа "медиафайл"
5. При этом изображения останутся на своих местах в записи и у них останутся станые подпись, title и alt
6. Добавится пользовательский класс (как в html коде так и в редакторе изображений)
7. В записях появятся правильные [caption id="attachment_№" (как в html коде так и в базах wp)
Может быть есть другой путь?
наверное это возможно сделать через базу данных, но результат должен быть эквивалентен "ручному" выполнению
пунктов 1-8 (я описал некоторые моменты, например формирование wp-image-#, может еще есть какие то невидимые
пользователю действия которые делает WP для таких действиях пользователя)