Categories: Все о WordPress

Как сделать уведомление в телеграм о новом заказе woocommerce

Согласитесь, удобно когда о новых заказах на сайте Вам сразу приходит уведомление в телеграм. Делал на днях хук на wordpress, который как раз и отправляет сообщение о новом заказе в магазине мне в личный телеграм.

Добавлял через функции, добавив простой код.

Хук wordpress для уведомления в телеграм о новых заказах

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

Дальше в файл functions.php в конец добавляем хук:

add_action( 'woocommerce_new_order', 'new_order_send_tg',  1, 1  );
function new_order_send_tg( $order_id ) {
    $order = new WC_Order( $order_id );
    $msg = '*Магазин bdseo.ru*

';
    $msg .= 'Новый заказ: '.$order_id;

    $userId = '262612326'; // Ваш id в телеграм
    $token = '107878777:AAEOhEOhnCEOhnCEOhnCEOhnCEOhnC-IG8'; // Token бота

    file_get_contents('https://api.telegram.org/bot'. $token .'/sendMessage?chat_id='. $userId .'&text=' . urlencode($msg) . '&parse_mode=markdown'); // Отправляем сообщение
}

Этот код отправляет сообщение с Названием магазина (жирным шрифтом), и номер заказа. Можно добавить сразу же данные с заказа (вытащить с обьекта order, немного поправив функцию).

В коде поменяйте ваш айди и токен бота.

Также вместо markdown разметки (parse_mode) можно использовать HTML (смотрите документацию телеграм).

Можно вообще сразу слать все данные в телеграм чат, чтобы их обрабатывали менеджеры. Товар, цена, адрес доставки, получатель… Это все ищется в интернете.

 

veniamin

View Comments

  • А на кой ты комментарии оставил открытыми если отвечаешь на отъебись? Чтобы тебя хвалили?

    • тебя в гугле забанили? простые вещи, или мне за тебя все сделать? ищется за секунды
      ссылка - the_permalink() или любой другой метод
      вывести заголовок - get_the_title() или другие.
      Учитесь гуглить, а не просить

  • А как добавить название товара и ссылку на товар?

  • Подскажите как добавить что бы приходили данные в телегу

  • спасибо большое! добавил некоторые данные о заказе может пригодится кому

     

    add_action( 'woocommerce_new_order', 'new_order_send_tg', 1, 1 );
    function new_order_send_tg( $order_id ) {
    // $order = new WC_Order( $order_id );

    $order = wc_get_order( $order_id );
    $order_data = $order->get_data();
    $order_total = $order_data['total'];
    $order_date_created = $order_data['date_created']->date('Y-m-d H:i:s');

    $order_billing_first_name = $order_data['billing']['first_name'];
    $order_billing_address_1 = $order_data['billing']['address_1'];
    $order_billing_email = $order_data['billing']['email'];
    $order_billing_phone = $order_data['billing']['phone'];
    $order_payment_method_title = $order_data['payment_method_title'];

    $arrz = array(
    'Номер заказа: ' => $order_id,
    'Время заказа: ' => $order_date_created,
    'Сумма, ₽: ' => $order_total,
    'Имя: ' => $order_billing_first_name,
    'Фамилия: ' => $order_billing_last_name,
    'Телефон: ' => $order_billing_phone,
    'Email: ' => $order_billing_email,
    'Город: ' => $order_billing_city,
    'Адрес: ' => $order_billing_address_1,
    'Метод оплаты: ' => $order_payment_method_title
    );

    foreach($arrz as $key => $value) {
    $txt2 .= "<b>".$key."</b> ".$value."%0A";
    };

    $mur = wp_remote_fopen("https://api.telegram.org/botТОКЕНБОТА/sendMessage?parse_mode=html&chat_id=АЙДИЧАТА8&text=" . $txt2);
    }

     

    ЗЫ: Выводить все товарные позиции в заказе не получилось у меня.

    • "По товарам — можно через цикл вывести" - если не сложно, покажите как это сделать.

    • Спасибо, отличное решение - работает.

    • Спасибо за комментарий.
      Учитывайте кавычки! при копировании.
      По товарам - можно через цикл вывести

  • Каким образом можно ускорить загрузку сайта по гугл PageSpeed ? Сайт на битрикс

    • Много вариантов, все зависит от сайта :)

Recent Posts

Как заработать токен NOT за стейкинг BNB или FDUSD

Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…

6 месяцев ago

Как заработать TON и NOT за стейкинг в телеграм

Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…

6 месяцев ago

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

3 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

3 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

3 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago