Я пытаюсь добавить класс доставки для каждого продукта в новые электронные письма заказа для администратора и клиентов в WooCommerce. Я впервые пишу вопрос, поэтому, пожалуйста, прости меня, если есть проблемы с форматированием.
Я использовал код, найденный здесь: https://wordpress.stackexchange.com/questions/291637/woocommerce-add-shipping-class-below-each-product-in-shopping-cart-page
Это добавляет класс доставки ниже каждого товара в корзине, но я хочу иметь возможность показать его также в письмах с заказами.
Я просто не уверен, какие объекты вызывать, чтобы получить данные для каждого продукта в электронном письме с новым заказом.
Вот код, который я использую:
add_action( 'woocommerce_order_item_meta_start', 'ts_order_item_meta_start', 10, 4 );
function ts_order_item_meta_start( $item_id, $item, $order, $plain_text, $item_name ){
$product = $cart_item['data']; // Get the WC_Product object instance
$shipping_class_id = $product->get_shipping_class_id(); // Shipping class ID
$shipping_class_term = get_term( $shipping_class_id, 'product_shipping_class' );
if( empty( $shipping_class_id ) )
return $item_name; // Return default product title (in case of)
$label = __( 'Shipping class', 'woocommerce' );
return $item_name . '<br>
<p class="item-shipping_class" style="margin:12px 0 0;">
<strong>' .$label . ': </strong>' . $shipping_class_term->name . '</p>';
}
Я ожидал, что класс доставки будет указан ниже каждого продукта в электронном письме "Новый заказ", но в настоящее время добавление этого кода возвращает внутреннюю ошибку сервера при оформлении заказа.