$cart_item = $woocommerce->cart->get_cart();
我有上面的代码。
如果我在cart_item上运行print_r,我将得到一个多维数组:
Array( [a6292668b36ef412fa3c4102d1311a62] => Array ( [product_id] => 6803
我如何只获得product_id?
我试过$ test = $cart_item['data'];
print_r($test);
没用
要获取 product ID
foreach循环中的每个购物车商品(对于简单产品):
foreach( WC()->cart->get_cart() as $cart_item ){
$product_id = $cart_item['product_id'];
}
如果是可变产品,请获取 variation ID
:
foreach( WC()->cart->get_cart() as $cart_item ){
$variation_id = $cart_item['variation_id'];
}
或在两种情况下 ( Woocommerce 3+中$cart_item['data']
的 WC_Product
Object在哪里) :
foreach( WC()->cart->get_cart() as $cart_item ){
// compatibility with WC +3
if( version_compare( WC_VERSION, '3.0', '<' ) ){
$product_id = $cart_item['data']->id; // Before version 3.0
} else {
$product_id = $cart_item['data']->get_id(); // For version 3 or more
}
}
更新: 循环外使用产品ID
1)打破循环 (仅获得购物车的第一个商品ID(产品ID)) :
foreach( WC()->cart->get_cart() as $cart_item ){
$product_id = $cart_item['product_id'];
break;
}
您可以直接使用$product_id
购物车中第一项的变量。
2)使用一组产品ID (购物车中的每个商品一个) 。
$products_ids_array = array();
foreach( WC()->cart->get_cart() as $cart_item ){
$products_ids_array[] = $cart_item['product_id'];
}
$products_ids_array[0];
$products_ids_array[1];
etc …要检查购物车项目中的 产品类别 或 产品标签
,请使用WordPress,has_term()
例如:
foreach( WC()->cart->get_cart() as $cart_item ){
// For product categories (term IDs, term slugs or term names)
if( has_term( array('clothing','music'), 'product_cat', $cart_item['product_id'] ) ) {
// DO SOMETHING
}
// For product Tags (term IDs, term slugs or term names)
if( has_term( array('clothing','music'), 'product_tag', $cart_item['product_id'] ) ) {
// DO SOMETHING ELSE
}
}
$cart_item['product_id']
当购物车商品是产品变体时,我们总是使用它作为父变量产品。产品变体不处理任何自定义分类法,因为产品类别和产品标签
如何在Woocommerce购物车页面中的购物车项目名称后添加产品ID? 我知道我需要先不返回,因为这样会把我从函数中拉出来,但我很好奇我该如何去做这件事。
我是新来的。我想将产品添加到购物车并列出购物车的所有产品。我已经将Co-Cart插件添加到我的服务器,并且我正在使用Co-Cart API实现购物车相关功能。 我面临的问题是,我不能在我的反应本地应用程序中查看购物车产品。以下是我现在使用的API: 1.将产品添加到购物车: 方法:邮寄 URL:https://www.myhost.com/wp-json/wc/v2/cart/add?token=
问题在于当我的客户尝试从购物车中编辑一个产品时。因为所有产品都有相同的ID(我只有一个产品),所以添加到购物车的最后一个产品的元加载到文本字段中。我当前使用产品id检索中的元,但该id与购物车中的所有其他产品相同。有没有其他方法可以在不使用/(如或使用会话)的情况下检索元?
最初,我选择了一个包(Woo订阅) 然后添加了所有详细信息。 但未提交。 回到网站,所以再次购买我需要选择一个包。所以我选择了这个包,并填写了详细信息,然后转到付款包。 现在在我的购物车中,两个包都存在(即我没有第一次购买就选择的包和最近的包) 如何修复此问题,使最新选定的一个在购物车中,而较早的一个在选定最新的一个后立即删除。 我尝试了这个Woocommerce从购物车中删除所有产品,并将当前产
我写的函数应该检查是否有在购物车的项目,其中有一个特定的类别。 我的想法是: 我猜,get_cart()函数将返回购物车的内容,我将能够从中获取有关商品类别的信息。我需要知道get_cart()返回数组的结构,所以我写了: 得到 然后,我尝试在get_cart()函数的结果中查找类别名称: 得到了同样的错误。 使用$woocommerce而不是WC()不会产生任何效果,也不会删除 我做错了什么?我