Разработка
Apps:
No items found.

Автоматизизация сайта на WordPress с помощью плагина WP webhooks и Нодуля!

Даниил Васильев
May 2, 2024

Привет! Это Даник из Нодуля. Если вы когда-либо создавали веб-сайт на WordPress, вы, вероятно, заметили, что нет возможности отправлять данные WP во внешние сервисы или получать данные из внешних источников без дополнительных плагинов.

WP Webhooks оказывается одним из самых популярных решений в таких случаях. Благодаря этому плагину вы можете использовать webhooks и HTTP-запросы для отправки любых данных с вашего веб-сайта WP и выполнять любые действия с ними удаленно. Что это значит? Это значит, что вы можете автоматизировать свой рабочий процесс в WordPress, и в этой статье я покажу вам, как это сделать с помощью Nodul.ru!

Помимо пошаговой инструкции, вы можете просто скопировать весь сценарий, который я покажу вам в этой статье! Ссылку вы увидите в конце статьи.

Поехали!

Шаг 1: Установка WP Webhooks

Скачивание плагина

Прежде всего, перейдите на страницу WP webhooks и скачайте плагин как zip-файл. Вам НЕ нужно его распаковывать.

Установка

После этого на странице управления вашим сайтом wordpress.com перейдите:

Мой сайт > Плагины > Добавить новый плагин > Загрузить

Затем выберите только что скачанный zip-архив и дождитесь установки плагина.

Вы увидите WP во вкладке плагинов. Нажмите на Настройки, чтобы начать автоматизацию вашего сайта!

Вы увидите WP Webhooks во вкладке плагинов. Нажмите на Настройки, чтобы начать автоматизацию вашего сайта!

Шаг 2: Обзор настроек

Вы увидите различные вкладки в настройках WP Webhooks, но используя бесплатный план, вам понадобятся только две из них: Отправить данные и Получить данные.

Отправить данные

Эта вкладка содержит:

  1. Список доступных триггеров. Другими словами, здесь вы можете выбрать, какое событие на вашем сайте будет запускать выполнение рабочего процесса автоматизации, который вы собираетесь создать.
  2. Описание выбранного триггера.

Получить данные

Здесь вы можете найти:

  1. URL действий webhooks с API-ключом. У вас уже есть один с самого начала.
  2. Список доступных действий с описаниями

Шаг 3: Автоматизация вашего сайта

Ну что ж, пришло время для автоматизации!

Вот идея сценария автоматизации, которую я придумал:

Как только пользователь оставляет комментарий на моем сайте, никнейм пользователя, его email и сам комментарий автоматически отправляются в мою форму Google Sheets. Если в комментарии содержатся какие-либо ссылки, они будут удалены.

Работает отлично как для сбора отзывов, так и для модерации, не так ли? На самом деле, я уже создал этот сценарий на noodul.ru, взгляните:

Позвольте мне объяснить, что здесь происходит:

  1. Сначала идет триггер webhook, который активирует сценарий каждый раз, когда на моей странице появляется новый комментарий, и получает все необходимые данные комментария.
  2. Этот узел Google Sheets генерирует новую пустую строку в моей таблице.
  3. Следующий узел Google Sheets ищет строку, в которой в столбце статуса стоит значение 'пусто'.
  4. Итератор обрабатывает значение из предыдущего узла. Узлы, подключенные к верхней точке, выполняются в первую очередь.
  5. Эти узлы Google Sheets обновляют ячейки с информацией о комментарии и изменяют статус на 'обновлено'.
  6. Затем идет узел HTTP-запроса, который удаляет комментарий. Он активируется только в случае, если в комментарии есть ссылка.

Но вам не нужно создавать этот сценарий самостоятельно! Просто скопируйте его из ссылки в конце статьи! А теперь пришло время показать вам каждый шаг создания этого рабочего процесса автоматизации, поехали!

Создайте новый сценарий

Перейдите на Nodul.ru, войдите в свой аккаунт и нажмите на фиолетовую кнопку в верхнем левом углу страницы. После этого вы окажетесь на вкладке создания сценария.

Переименуйте ваш сценарий, иначе он будет называться «без названия». После этого сохраните изменения.
Постарайтесь делать это каждый раз, когда вы изменяете или модифицируете свой сценарий. Безопасность прежде всего!

Триггер Webhook

Теперь нажмите добавить узел и выберите триггер webhook. Затем нажмите на добавленный узел и скопируйте ссылку webhook. Не забудьте о кнопке «сохранить»!

Следующее, что вам нужно сделать, это выбрать триггер «комментарий создан» на вкладке Отправить данные плагина WP Webhooks и нажать на кнопку «Добавить URL webhook». После этого назовите триггер и вставьте URL webhook из сценария Нодуля.

И если вы нажмете на кнопку «развернуть» (рядом с «сохранить»), а затем «отправить демо» (раздел действий триггера WH), вы увидите, что соединение уже работает, отлично!

Google Sheets: Добавить одну строку

Теперь нажмите «добавить узел», найдите группу Google Sheets и выберите «добавить одну строку».

Зарегистрируйтесь в Google, чтобы получить токен авторизации, затем выберите путь к нужной таблице.

Ответ на вопрос «Первая строка листа содержит заголовки?» - «да». Затем напишите «пусто» в поле «статус» и сохраните изменения.

Google Sheets: Найти строку

Этот узел вы найдете так же, как и предыдущий, но теперь вам нужно выбрать узел «Найти строку».

Выберите тот же токен авторизации и путь к вашей таблице.

В разделе столбец вставьте «D» (если вы используете предоставленный мной лист), и «пусто» в значение. Проще говоря, этот узел показывает, куда вставлять данные комментария, «пусто» - это маркер.

Итератор

Перед добавлением Итератора запустите один раз два узла Google Sheets, которые вам нужны для создания потока данных.

После этого нажмите «добавить узел» и выберите «другие инструменты». Здесь вы его найдете.

Для настройки просто поместите объект результатов из предыдущего узла в поле «данные для итерации». Затем запустите его один раз и сохраните изменения.

Google Sheets: Обновление ячейки x4

На этом этапе мы заполняем ячейки таблицы именем, email и комментарием пользователя и меняем статус «пусто» на «обновлено». Вот почему нужны 4 узла.

Нажмите «добавить узел», затем снова перейдите в Google Sheets и выберите узел «Обновить ячейку».

Снова вставьте ваш токен авторизации и выберите путь к таблице.

Эти действия одинаковы для всех 4 узлов, поэтому вы можете сохранить этот и просто скопировать его!

Для этого просто щелкните правой кнопкой мыши по узлу, затем «копировать» и вставить его в любое место!

Затем подключите их к верхней точке Итератора.

Чтобы избежать путаницы, переименуйте узлы, чтобы они выглядели по-разному.

Теперь давайте закончим их! Ячейка и значение для:

  1. Name

Ячейка: A (объект googlesheetnumber от Итератора)

Значение: объект comment_author от триггера webhook

  1. Email

Ячейка: B (объект googlesheetnumber от Итератора)

Значение: объект comment_author_email от триггера webhook

  1. Comment

Ячейка: C (объект googlesheetnumber от Итератора)

Значение: объект comment_content от триггера webhook

  1. Status

Ячейка: D (объект googlesheetnumber от Итератора)

Значение: обновлено

Не забудьте сохранить изменения!

HTTP - запрос

Ура, последний шаг! Добавьте узел к правой точке соединения Итератора, найдите «HTTP-запрос» в списке приложений.

Для настройки вам нужно вставить URL действия webhook из вкладки Получить данные плагина WP Webhooks. Затем перейдите к действиям webhook.

В этом случае мы ищем действие «Удалить комментарий». Для выполнения этого действия вам нужно изменить URL с &action=delete_comment (проверьте детали) и &comment_id={объект comment_id}.

Вернувшись к узлу «HTTP-запрос», установите метод как GET и сохраните изменения.

И еще кое-что! Если оставить все как есть, этот сценарий удалит каждый комментарий.

Нам нужно настроить фильтр, и вот как это сделать:

Нажмите на соединение между Итератором и HTTP-запросом, затем «настроить фильтр».

В открывшемся окне вставьте название фильтра в поле «Label»

В поле «condition» поместите функцию «contains» из окна Операторы, после первого пробела поместите объект comment_id от триггера webhook. И после точки с запятой поместите «https://». Так каждый комментарий, который начинается с ссылки, будет удален.

Вот и все! Давайте протестируем!

Тестирование

Давайте оставим 2 комментария: один со ссылкой и один без, и посмотрим, как это работает.

Оба комментария теперь в моей таблице Google Spreadsheet.

Вот как сработал сценарий:

В случае с комментарием без ссылки, узел HTTP не был активирован, смотрите:

А вот с комментарием:

Заключение

Думаю, на сегодня это все! Надеюсь, эта статья была для вас полезной!

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

Другие статьи