@DeniSidorenko

Как передавать не только названия товара но и категории в заказе Woocomerce?

Добрый день, при заказе Woocommerce заявка попадает на е-майл администратора где видно какие товары покупал пользователь. Возможно ли сделать что бы они отправлялись вместе с названием категории?
  • Вопрос задан
  • 24 просмотра
Решения вопроса 1
Вариантов как всегда несколько
- можно вытащить шаблон письма в свою тему и подправить вывод.
- можно добавлять метаданные к элементу заказа через хуки

Как пример
5fbb73b8b4b1e715328402.jpeg

а вот и кодик про метаданные
/**
 * Добавляем уведомление о том, что товар участвует в акции.
 * Проверяем участие товара в акции на момент добавления товара в заказ.
 *
 * @param WC_Order_Item_Product $item          Элемент заказа.
 * @param array                 $cart_item_key Уникальный ключ.
 * @param array                 $values
 * @param array                 $order         Экземпляр класса заказа.
 */
function pcwoo_checkout_create_order_line_item( $item, $cart_item_key, $values, $order ) {
	// проверить участвует ли этот товар в акции и если да, то добавить метаполе с сообщением.
	$product   = $values['data'];
	$parent_id = $product->get_id();
	if ( 'variation' === $product->get_type() ) {
		$parent_id = $product->get_parent_id();
	}

	// для предложения "Осеннее предложение -10% в корзине".
	$tax     = 'promotion';
	$term_id = 1390;
	if ( has_term( $term_id, $tax, $parent_id ) ) {
		$item->add_meta_data( 'promotion_' . $term_id, 'Скидка в корзине: -10%', true );
	}
}
add_action( 'woocommerce_checkout_create_order_line_item', 'pcwoo_checkout_create_order_line_item', 10, 4 );

// -------------------------------------------------------------------------- /

/**
 * Форматируем вывод надписи в письме и в админке в карточке заказа.
 */
function pcwoo_order_item_display_meta_key( $display_key, $meta, $order_item ) {
	if ( 'promotion_' === substr( $display_key, 0, 10 ) ) {
		$display_key = __( 'Участие в акции' );
	}
	return $display_key;
}

add_filter( 'woocommerce_order_item_display_meta_key', 'pcwoo_order_item_display_meta_key', 10, 3 );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы