在 WooCommerce 中获取购物车项目变体名称而不是变体 ID
Get cart item variation name instead of variation ID in WooCommerce
我想添加隐藏送货方式的功能,但如果选择了变体,则对所有产品添加一个。有数千种产品,未来还会有更多。我使用了这段代码:
$_product = $values['data'];
// if product variation id @ Cart, disable all but Local Pickup
if( $_product->variation_id == 26408 || $_product->variation_id == 26409 ) {
$wc_pickup_store = $rates['wc_pickup_store'];
$rates = array();
$rates['wc_pickup_store'] = $wc_pickup_store;
}
}
return $rates;
}
我想要实现的是用变体名称替换变体 ID,以便它可以应用于所有具有相同变体名称的产品。
感谢您的帮助!
您的代码自 WooCommerce 3 以来已过时。对于购物车商品变体 ID,您应该使用:
$variation_id = $values['variation_id'];
变体名称是产品变体标题,您可以使用WC_Product
方法获得get_name()
。
如果变体 ID 是大于零的整数,$_product->get_name()
将是变体名称。否则它将是产品名称(例如简单产品的名称)。
因此您的代码将是:
$_product = $values['data'];
$variation_id = $values['variation_id'];
$product_name = $_product->get_name(); // The variation name
// if product variation id @ Cart, disable all but Local Pickup
if( $variation_id == 26408 || $variation_id == 26409 ) {
$wc_pickup_store = $rates['wc_pickup_store'];
$rates = array();
$rates['wc_pickup_store'] = $wc_pickup_store;
}
}
return $rates;
}
我想添加隐藏送货方式的功能,但如果选择了变体,则对所有产品添加一个。有数千种产品,未来还会有更多。我使用了这段代码:
$_product = $values['data'];
// if product variation id @ Cart, disable all but Local Pickup
if( $_product->variation_id == 26408 || $_product->variation_id == 26409 ) {
$wc_pickup_store = $rates['wc_pickup_store'];
$rates = array();
$rates['wc_pickup_store'] = $wc_pickup_store;
}
}
return $rates;
}
我想要实现的是用变体名称替换变体 ID,以便它可以应用于所有具有相同变体名称的产品。
感谢您的帮助!
您的代码自 WooCommerce 3 以来已过时。对于购物车商品变体 ID,您应该使用:
$variation_id = $values['variation_id'];
变体名称是产品变体标题,您可以使用WC_Product
方法获得get_name()
。
如果变体 ID 是大于零的整数,$_product->get_name()
将是变体名称。否则它将是产品名称(例如简单产品的名称)。
因此您的代码将是:
$_product = $values['data'];
$variation_id = $values['variation_id'];
$product_name = $_product->get_name(); // The variation name
// if product variation id @ Cart, disable all but Local Pickup
if( $variation_id == 26408 || $variation_id == 26409 ) {
$wc_pickup_store = $rates['wc_pickup_store'];
$rates = array();
$rates['wc_pickup_store'] = $wc_pickup_store;
}
}
return $rates;
}