Как отправить уведомление о новом заказе wordpress

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

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

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

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

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

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

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

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

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

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

 

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

    • тебя в гугле забанили? простые вещи, или мне за тебя все сделать? ищется за секунды
      ссылка — 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 ? Сайт на битрикс

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

Добавить комментарий для mur Отменить ответ

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