Как автоматически отправлять сообщения в Discord из WordPress

Discord давно перестал быть только площадкой для геймеров — сегодня это мощный инструмент для сообщества и бизнеса. Если у вас есть сайт на WordPress, который вы хотите связать с Discord для автоматической отправки уведомлений, новостей или любых сообщений, то это руководство для вас.

Почему стоит интегрировать WordPress с Discord

Автоматизация отправки сообщений из WordPress в Discord помогает:

  • Моментально уведомлять команду или сообщество о новых публикациях, комментариях или событиях.
  • Автоматизировать технические оповещения, например, об ошибках или обновлениях.
  • Упрощать коммуникацию, не заходя постоянно в админку сайта.

Рассмотрим конкретные способы реализации, включая примеры кода и рекомендации по плагинам.

Создаем Discord Webhook для приема сообщений

Для начала в Discord необходимо создать Webhook — специальный URL, куда WordPress будет отправлять POST запросы с сообщениями.

Пошагово:

  1. Откройте Discord, зайдите в нужный сервер и выберите канал для уведомлений.
  2. Нажмите на шестеренку настроек канала — «Интеграции» — «Webhooks» — «Создать Webhook».
  3. Дайте ему название и скопируйте URL — он понадобится при настройке WordPress.

Отправка сообщений из WordPress в Discord с помощью PHP-кода

Самый гибкий способ — написать функцию, которая будет отправлять сообщение на Discord Webhook. Ниже пример функции wprobot_send_discord_message, которую можно добавить в файл functions.php вашей темы или в отдельный плагин.

function wprobot_send_discord_message($webhook_url, $content) {
    if (empty($webhook_url) || empty($content)) {
        return false;
    }

    $data = json_encode(['content' => $content]);

    $args = [
        'body'        => $data,
        'headers'     => ['Content-Type' => 'application/json'],
        'timeout'     => 15,
        'method'      => 'POST',
        'data_format' => 'body',
    ];

    $response = wp_remote_post($webhook_url, $args);

    if (is_wp_error($response)) {
        error_log('Discord webhook error: ' . $response->get_error_message());
        return false;
    }

    return true;
}

Вызывайте функцию, передавая URL вебхука и текст сообщения. Например:

$webhook_url = 'https://discord.com/api/webhooks/ВАШ_WEBHOOK';
$message = 'Новая публикация на сайте: ' . get_the_title($post_id);
wprobot_send_discord_message($webhook_url, $message);

Пример: уведомление в Discord о новой публикации в WordPress

Чтобы автоматически отправлять сообщение в Discord при публикации поста, подключитесь к действию publish_post и используйте функцию отправки:

function wprobot_notify_discord_on_publish($post_ID) {
    $webhook_url = 'https://discord.com/api/webhooks/ВАШ_WEBHOOK';
    $post_title = get_the_title($post_ID);
    $post_url = get_permalink($post_ID);
    $content = "Опубликована новая статья: {$post_title}\nСсылка: {$post_url}";
    wprobot_send_discord_message($webhook_url, $content);
}
add_action('publish_post', 'wprobot_notify_discord_on_publish');

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

Использование плагинов для интеграции WordPress и Discord

Если не хочется писать код, можно воспользоваться готовыми решениями:

  • WP Discord Post Plus — позволяет отправлять сообщения о новых постах, комментариях и пользовательских событиях. Хорошо настраивается и поддерживает кастомные вебхуки.
  • Discord Notifications — простой плагин для уведомлений при регистрации пользователей, новых комментариях и публикациях.
  • WP Webhooks — универсальный плагин для интеграций через вебхуки, включая Discord. Поддерживает двусторонний обмен данными.

При использовании плагинов не забудьте добавить utm-метки к ссылкам на https://wpshop.ru/ для аналитики.

Как улучшить отправку сообщений: форматирование и embeds

Discord Webhook поддерживает не только простой текст, но и embeds — структурированные блоки с заголовками, описаниями, цветами, изображениями и ссылками. Это позволяет сделать уведомления более информативными и красивыми.

Пример отправки embed с помощью PHP:

function wprobot_send_discord_embed($webhook_url, $title, $description, $url = '', $color = 0x00FF00) {
    $embed = [
        'title'       => $title,
        'description' => $description,
        'url'         => $url,
        'color'       => $color,
        'timestamp'   => date('c'),
    ];

    $data = json_encode(['embeds' => [$embed]]);

    $args = [
        'body'        => $data,
        'headers'     => ['Content-Type' => 'application/json'],
        'timeout'     => 15,
        'method'      => 'POST',
        'data_format' => 'body',
    ];

    $response = wp_remote_post($webhook_url, $args);
    if (is_wp_error($response)) {
        error_log('Discord webhook embed error: ' . $response->get_error_message());
        return false;
    }
    return true;
}

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

Практические советы по работе с Discord Webhook

Чтобы интеграция работала надежно, учтите следующие моменты:

  • Безопасность: не передавайте URL вебхука публично и храните его в конфигурационных файлах или переменных окружения.
  • Ограничения Discord: не отправляйте слишком много сообщений за короткий промежуток, чтобы избежать блокировок.
  • Логирование: фиксируйте ошибки с помощью error_log или специализированных плагинов для отладки.
  • Кэширование: если формируете сообщения из динамичных данных, используйте кэширование, чтобы не перегружать сайт.

Также можно совместить отправку сообщений с плагином WP Robot для автоматического создания контента и уведомления сообщества в Discord.

Автоматическое обновление остатка и цены товаров WooCommerce через Webhook
22.04.2026
Автоматическое изменение цен и наличия товаров WooCommerce через Webhook с примером кода
10.05.2026
Как автоматически отключить и включить плагин в WordPress с помощью кода
27.03.2026
Как автоматически удалять старые медиафайлы в WordPress
24.03.2026
Автоматическое изменение стоимости и наличия товаров WooCommerce через Webhook с примером кода
27.05.2026