Пользовательские электронные письма Woocommerce: получите эскиз и цену товара - PullRequest
0 голосов
/ 19 февраля 2019

Я недавно только что создал настроенные электронные письма для Woocommerce.У меня все работает, кроме одной проблемы.До того как я принес / получил «изображение продукта», я мог без проблем загрузить «цену продукта».

Однако теперь я получаю изображение продукта, у меня возникают проблемы с получением «цены продукта»и заказы не обрабатываются и не выполняются.

Вот код PHP, который я использую для сбора всей информации, отображаемой в электронном письме.

<?php               
    foreach ($order->get_items() as $theitem_id => $theitem ) { 

    // PRODUCT NAME
    $product_name = $theitem->get_name(); 
    // PRODUCT QUANTITY
    $quantity = $theitem->get_quantity();  


    // LINE ITEM SUBTOTAL (Non discounted)
    $item_subtotal = $theitem->get_subtotal();
    $item_subtotal = number_format( $item_subtotal, 2 );

    // LINE ITEM TOTAL (discounted)
    $item_total = $theitem->get_total();
    $item_total = number_format( $item_total, 2 );


    $product_id = $theitem['product_id'];
    $product = wc_get_product( $product_id );

    // PRODUCT IMAGE
    $prodimage = $product->get_image( array( 200, 200 ) )

    // PRODUCT PRICE
    $product_price = $product->get_price(); 
?>

Я уверен, что я не так далек от правильного понимания, как при комментированиииз кода PHP "цена продукта", тогда все работает нормально (без учета цены, очевидно)

Любая помощь будет отличной, большое спасибо

1 Ответ

0 голосов
/ 19 февраля 2019

Начиная с Woocommerce 3, неверный идентификатор продукта (и объект продукта тоже) ... Попробуйте вместо этого:

<?php
    // Loop through order items
    foreach ($order->get_items() as $item_id => $item ) { 

    // PRODUCT NAME
    $product_name = $item->get_name(); 
    // PRODUCT QUANTITY
    $quantity = $item->get_quantity();  

    // LINE ITEM SUBTOTAL (Non discounted)
    $item_subtotal = $item->get_subtotal();
    $item_subtotal = number_format( $item_subtotal, 2 );

    // LINE ITEM TOTAL (discounted)
    $item_total = $item->get_total();
    $item_total = number_format( $item_total, 2 );

    // Get an instance of the product Object
    $product = $item->get_product(); // <==== HERE
    $product_id = $product->get_id(); // <==== and HERE

    // PRODUCT IMAGE
    $product_image = $product->get_image( array( 200, 200 ) );

    // PRODUCT PRICE
    $product_price = $product->get_price(); 
?>

Теперь он должен работать лучше.

Похожие: Получить товары для заказа и WC_Order_Item_Product в Woocommerce 3

...