在购物车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()
我正在尝试获取购物车中所有产品的SKU。 过去我尝试过与产品名称类似的东西。 我是这样做的: p>
global $ woocommerce;
$ items = $ woocommerce-> cart-> get_cart();
$ product_names = array() ;
foreach($ items as $ item => $ values){
$ _product = $ values ['data'] - > post;
$ product_names [] = $ _ product-> post_title;
}
code> pre>
有没有这样的方法,而不是标题获得产品的SKU? p>
编辑 : p>
我尝试了Thoby的方式: p>
global $ woocommerce;
$ items = $ woocommerce-> cart-&gt ; get_cart();
$ product_names = array();
$ productsku = array();
foreach($ items as $ item => $ values){
$ _product = $ values ['data'] - >柱;
$ product_names [] = $ _ product-> post_title;
$ productsku [] = $ _woo_product-> get_sku();
}
code> pre>
但我得到一个错误: p>
致命错误:调用未定义的方法WP_Post :: get_sku() p>
blockquote>
div >
答
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()
答
I believe this might help you-
$_product->get_sku();
It works with product loops and you can use it inside your cart/checkout/etc..