Как изменить формат отправляемого сообщения в плагине WP Telegram?

Ссылка скопирована
1 ответ

Ситуация следующая: В магазине на WooCommerce установлен плагин WP Telegram. Когда пользователь добавляет товар в корзину , оформляет заказ или отправляет форму на сайте - все данные идут в Телеграм.

Как можно изменить формат сообщения и где можно отредактировать код отправляемого сообщения в этом плагине?

Дополнительно:

Ответы:

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

Вносить изменения непосредственно в код плагина я бы категорически не рекомендовал.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Елена Вебер Ответ

Формат сообщения в WP Telegram обычно нужно менять не правкой файлов плагина, а через хуки/фильтры, если они предусмотрены. Прямая правка кода плагина — плохой путь: обновление перезапишет изменения, а при ошибке можно сломать отправку всех уведомлений.

Сначала определите, какой именно модуль отправляет сообщение: WooCommerce-заказ, Contact Form 7, обычная запись, уведомление о корзине или кастомная интеграция. После этого ищите в настройках WP Telegram шаблон сообщения. Во многих сценариях плагин уже позволяет менять текст через placeholders.

Если шаблона в настройках недостаточно, надо искать фильтры:

grep -R "apply_filters" wp-content/plugins/wp-telegram* -n
grep -R "message" wp-content/plugins/wp-telegram* -n

grep -R "apply_filters" wp-content/plugins/wp-telegram* -n grep -R "message" wp-content/plugins/wp-telegram* -n

Дальше пишется маленький mu-plugin или отдельный мини-плагин:

add_filter('some_wp_telegram_message_filter', function ($message, $data) {
    $message = "Новый заказ:
";
    $message .= "Имя: " . ($data['name'] ?? '') . "
";
    $message .= "Телефон: " . ($data['phone'] ?? '') . "
";
    return $message;
}, 10, 2);

add_filter('some_wp_telegram_message_filter', function ($message, $data) { $message = "Новый заказ: "; $message .= "Имя: " . ($data['name'] ?? '') . " "; $message .= "Телефон: " . ($data['phone'] ?? '') . " "; return $message; }, 10, 2);

Название фильтра в примере условное: его надо взять из кода Вашей версии плагина. Если отправка идёт из Contact Form 7, иногда проще подключиться к событию CF7 и самому отправлять сообщение в Telegram Bot API, чем пытаться переопределить чужой формат.

Итог: проверьте встроенные шаблоны, затем фильтры плагина. Если фильтра нет, делайте отдельную отправку через Bot API, но не редактируйте ядро WP Telegram.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно