Как отправлять сообщения из Contact Form 7 (разные формы) в разные группы?
На сайте Wordpress формы сделаны с помощью Contact Form 7, налажена отправка запросов из форм в телеграмм с помощью Contact Form 7 + Telegram.
необходимо одну из форм направлять в отдельную для этой формы группу.
как разделить запросы: запросы из форм A,B,C в группу A, а запросы из формы D в группу B?
Дополнительно
Откуда нам знать как у тебя реализована отправка в телегу.
Но не понятно что мешает отправить нужную форму по нужному адресу.
в формах CF7 добавлен шорткод [telegram]. все отправляется корректно, но в одну группу. а мне из всех форм нужно выделить одну и конкретно из этой формы отправлять запросы в другую группу
Но если ты считаешь, что всё всем понятно - что ж, я удаляюсь.
необходимо одну из форм направлять в отдельную для этой формы группу.
как разделить запросы: запросы из форм A,B,C в группу A, а запросы из формы D в группу B?
На сколько я знаю, готовым способом - никак, надо писать плагин, который будет обрабатывать определенные формы.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Разделить отправку Contact Form 7 по разным Telegram-группам можно только там, где у интеграции есть выбор получателя. Если ваш плагин «Contact Form 7 + Telegram» поддерживает отдельный chat_id на уровне конкретной формы, используйте эту настройку. Если в плагине есть только один глобальный чат и shortcode
[telegram], готового переключателя может не быть.Технически задача решается через ID формы: формы A, B, C отправляем в один chat_id, форму D — в другой. Пример собственной отправки после успешной отправки CF7:
add_action('wpcf7_mail_sent', function ($form) { $chat_map = [ 123 => '-1001111111111', 456 => '-1002222222222', ]; $form_id = (int) $form->id(); if (empty($chat_map[$form_id])) { return; } $submission = WPCF7_Submission::get_instance(); $data = $submission ? $submission->get_posted_data() : []; $text = 'Новая заявка с формы #' . $form_id . "n"; foreach ($data as $key => $value) { if (is_array($value)) { $value = implode(', ', $value); } $text .= $key . ': ' . wp_strip_all_tags($value) . "n"; } wp_remote_post('https://api.telegram.org/bot' . TELEGRAM_BOT_TOKEN . '/sendMessage', [ 'body' => [ 'chat_id' => $chat_map[$form_id], 'text' => $text, ], ]); });
-100.wp-config.phpили настройках своего плагина, а не прямо в теме.Поэтому сначала проверьте настройки текущего плагина. Если per-form chat_id нет, нормальный путь — небольшой mu-plugin/кастомный плагин с картой
form_id => chat_idи отключением старой отправки там, где она дублирует сообщения.