duanji5746 2017-04-19 05:39
浏览 129
已采纳

在购物车Wordpress中获取产品的SKU

I'm trying to get the SKU of all the products in my cart. In the past i tried something similar with the product names. I did it like this:

global $woocommerce;
$items = $woocommerce->cart->get_cart();
$product_names=array();
foreach($items as $item => $values) { 
    $_product = $values['data']->post; 
    $product_names[]=$_product->post_title; 
} 

Is there a way like this but instead of the title get the SKU of a product?

EDIT:

I tried Thoby's way like this :

global $woocommerce;
$items = $woocommerce->cart->get_cart();
$product_names=array();
$productsku=array();
foreach($items as $item => $values) { 
    $_product = $values['data']->post; 
    $product_names[]=$_product->post_title;
    $productsku[]=  $_woo_product->get_sku();
} 

But i get an error :

Fatal error: Call to undefined method WP_Post::get_sku()

  • 写回答

2条回答 默认 最新

  • duanlu6268 2017-04-19 05:46
    关注

    Try :

    global $woocommerce;
    $items = $woocommerce->cart->get_cart();
    $product_names = array();
    
    foreach($items as $item => $values) { 
    
        // Retrieve WC_Product object from the product-id:
        $_woo_product = wc_get_product( $values['product_id'] );
    
        // Get SKU from the WC_Product object:
        $product_names[] = $_woo_product->get_sku(); 
    }
    

    The official WooCommerce API docs: wc_get_product()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?