Загрузка изображений в медиабиблиотеку WordPress

Следующее, что я хотел бы продемонстрировать при работе с WordPress с помощью n8n — это загрузка изображений в медиабиблиотеку. В WordPress есть раздел медиафайлов, и сюда мы можем добавлять изображения, которые в дальнейшем можно прикреплять к записям, страницам или другим элементам WordPress.

Итак, что нам для этого нужно? Я сгенерирую с помощью OpenAI тестовую картинку. Это обычный узел. Набираем здесь OpenAI и выбираем его.

Указываем, что нам нужен ресурс Image — сгенерировать картинку. С помощью DALL-E 3 я её генерирую с качеством Standard. Вот у меня сгенерировалась картинка кота. Я могу её здесь скачать и посмотреть.

Настройка узла HTTP Request

Далее нам требуется узел HTTP Request. Я его создал и переименовал в Upload WordPress Image. Теперь в него пришла эта картинка. Обратите внимание, что она пришла в бинарном виде.

Что я делаю? Создаю метод POST и добавляю адрес API нашего блога. Пишу здесь /wp-json/wp/v2/media. Это путь WordPress, который позволяет загружать туда изображения.

Указываю, что аутентификация должна быть с помощью Predefined Credential Type. Выбираю WordPress API и мой WordPress-аккаунт, который мы с вами создавали изначально.

Теперь важный момент — как передать наш файл. Задаём заголовки и указываем, что Content-Disposition должно быть attachment; filename="имя_файла". Придумываем имя файла, который будет загружаться.

В теле сообщения мы загружаем Send Body как бинарный файл и указываем ключ data. Этот ключ data, в котором находится наш бинарный файл, мы указываем здесь. Пробуем этот шаг, и всё — изображение было загружено.

Давайте убедимся в этом в библиотеке. Я обновлю страницу, и видим изображение кота, которое успешно загрузилось в медиабиблиотеку. Таким образом, вы можете по такому же принципу, передавая адрес на этот REST API, загружать любые изображения в медиабиблиотеку WordPress.