Согласитесь, удобно когда о новых заказах на сайте Вам сразу приходит уведомление в телеграм. Делал на днях хук на wordpress, который как раз и отправляет сообщение о новом заказе в магазине мне в личный телеграм.
Добавлял через функции, добавив простой код.
Хук wordpress для уведомления в телеграм о новых заказах
Вам понадобится создать бота через botfather, записать его токен и Ваш айди в телеграм.
Дальше в файл functions.php в конец добавляем хук:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 (смотрите документацию телеграм).
Можно вообще сразу слать все данные в телеграм чат, чтобы их обрабатывали менеджеры. Товар, цена, адрес доставки, получатель… Это все ищется в интернете.
А на кой ты комментарии оставил открытыми если отвечаешь на отъебись? Чтобы тебя хвалили?
тебя в гугле забанили? простые вещи, или мне за тебя все сделать? ищется за секунды
ссылка — 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 ? Сайт на битрикс
Много вариантов, все зависит от сайта