Задать вопрос

Отправка деталей заказа в телеграм WP Woocommerce?

Данный код отправляет информацию о заказе в Телеграм.
Все, кроме самого списка товаров. Хотя как бы должен.

add_action( 'woocommerce_new_order', 'telegram_notification',  1, 1  );
function telegram_notification( $order_id ) {
		$order = wc_get_order( $order_id );	//получаем заказ
		$order_data = $order->get_data(); //получаем данные заказа
		$items = $order->get_items();	//полуаем позиции заказа

		foreach ($items as $item) { //для каждой позиции получаем информацию
            $product = $item->get_product(); // получаем информацию о позиции
            $qty     = $item->get_quantity() ? $item->get_quantity() : 1;
            $price   = wc_format_localized_price($item->get_total() / $qty);
            $text2    .= 'Товар :' . $product->get_name() . ' Кол-во :' . $qty . ' Цена :' . $price; //формируем текст
        }

$order_id = $order_data['id']; //записываем номер заказа в переменную
$order_date_created = $order_data['date_created']->date('Y-m-d H:i:s'); // Using a formated date ( with php date() function as method)
$order_total = $order_data['total'];
$order_billing_phone = $order_data['billing']['phone']; 

//Создаем переменную, в которую помещаем PHP массив
$arr = array(
  'Номер заказа: ' => $order_id,
  'Дата: ' => $order_date_created,
  'Сумма заказа: ' => $order_total,
  'Телефон: ' => $order_billing_phone,
  'Состав заказа: ' => $text2  // ПРОБЛЕМА ГДЕ_ТО ТУТ
);

//При помощи цикла перебираем массив и помещаем в переменную $txt текст из массива $arr
foreach( $arr as $key => $value) {
  $txt .= "<b>".$key."</b> ".$value."%0A";
};
  $xsl = file_get_contents("https://api.telegram.org/botxxxxxxx/sendMessage?parse_mode=html&chat_id=xxxxx&text=" . $txt);
}


Помогите впихнуть список товаров в сообщение. Рабочего варианта в сети так и не нашел. Пробывал ковырять код сам, долго. Но знаний php 0% не хвататет.
  • Вопрос задан
  • 509 просмотров
Подписаться 5 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@DimDim7778
Вот на мой взгляд более элегантное решение, но всё так же без товаров
/*telegram*/
add_action( 'woocommerce_new_order', 'new_order_send_tg', 1, 1 );
function new_order_send_tg( $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_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_phone,
'Email: ' => $order_billing_email,
'Метод оплаты: ' => $order_payment_method_title
);

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

$mur = wp_remote_fopen("https://api.telegram.org/bot685018431xxxxxxxxxxxx/sendMessage?parse_mode=html&chat_id=132xxxxx&text=" . $txt2);
$mur = wp_remote_fopen("https://api.telegram.org/bot685018431xxxxxxxxxxxx/sendMessage?parse_mode=html&chat_id=343xxxxx&text=" . $txt2);
}

И вопрос такой, я чтобы добавить нового пользователя в созданный общий чат копирую эту строку:
$mur = wp_remote_fopen("https://api.telegram.org/bot685018431xxxxxxxxxxxx/sendMessage?parse_mode=html&chat_id=343xxxxx&text=" . $txt2);

Подскажите пожалуйста как нескольких пользователей добавить в одной строке?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы