hen*_*ght 5 php wordpress woocommerce
我目前正在将这样的产品添加到购物车中:
$woocommerce->cart->add_to_cart( $product_id, $quantity );
Run Code Online (Sandbox Code Playgroud)
我注意到该add_to_cart()方法实际上接受5个参数。请参阅以下内容(摘自WooCommerce文档):
add_to_cart( string $product_id, string $quantity = 1, integer $variation_id = '', array $variation = '', array $cart_item_data = array() )
Run Code Online (Sandbox Code Playgroud)
有人可以举例说明最后三个参数将用于什么吗?
$variation_id$variation$cart_item_data [包含此产品任何其他购物车数据的数组。]在方法文档中对这些内容进行了一些描述,但并没有太多说明性:
int $ variation_id
数组$ variation属性值
数组$ cart_item_data我们要传递到商品中的额外购物车商品数据
参考: http : //docs.woothemes.com/wc-apidocs/class-WC_Cart.html#_add_to_cart
小智 0
对于最后 3 个参数,您可以像这样使用它们:
$variation_id:如果产品是变体,这将是变体的特定帖子 ID。如果您要添加的产品是简单产品或不是可变产品,则可以将此字段留空或设置为 0。
$variation:当您选择可变产品的变体时,此数组包含变体属性以及客户选择的值。
$cart_item_data:这是一组数据,允许您将自定义数据存储到购物车中的产品。例如,如果您想存储一些稍后有用的有关产品的元数据,您可以在此处添加它。当您循环浏览购物车商品时,它将可用。
这是我为插件编写的代码片段的示例:
$gift_item = \wc_get_product($gift_item_id);
$gift_variation_id = 0;
$variation_data = [];
// The Gift is a variation, so get the variation options that are associated with this product variation.
if ($gift_item->is_type('variation')) {
$gift_variation_id = $gift_item->get_id();
$variation_data = wc_get_product_variation_attributes($gift_variation_id);
}
//Check to see if the product is already in our cart and has an item meta of being a gift item
$gift_item_hash = $cart->generate_cart_id($gift_item->get_parent_id() ?: $gift_item->get_id(), $gift_variation_id, $variation_data, [
'gift' => true
]);
if ($cart->find_product_in_cart($gift_item_hash) === false) {
// Add the Gift to our cart. Add some meta data to the item so we can change it's price at checkout.
$gift_cart_item_key = $cart->add_to_cart($gift_item_id, $new_gift_quantity, $gift_variation_id, $variation_data, ['gift' => true]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |