所以我正在使用WooCommerce开发电子商务,我正在通过add_to_cart
功能添加产品手册。我获取 add_to_cart(order_item_id(的返回值,并与其他一些值一起存储在自定义表中。
问题是在支付网关中,我试图添加一个逻辑,并且需要从数据库中获取这些信息,我试图获取 WC((->cart->cart_contents,执行 foreach 并使用键在我的自定义表中进行选择,但此键是哈希,add_to_cart函数返回的值是整数。
有人可以帮我吗?
WooCommerceadd_to_cart
将返回一个"哈希键"而不是整数。像这样检查。
global $woocommerce;
$addkey = $woocommerce->cart->add_to_cart('product ID', 'quantity');
foreach ( $woocommerce->cart->cart_contents as $cart_item_key => $cart_item ) {
$cartkey = $cart_item['key'];
}
您可以看到$addkey
和$cartkey
返回相同的值。
通常,如果您查看
WC_Cart
add_to_cart()
方法的源代码,在成功添加到购物车时,将返回所需的正确购物车项目键,例如:$cart_item_key = add_to_cart( $product_id );
现在,您可以使用挂接在woocommerce_add_to_cart
中的自定义函数来获取必要的cart_item_key并将所有必要的相关信息存储在自定义数据库中。
在这个钩子函数中,你可以使用它的所有必要参数:
add_action( 'woocommerce_add_to_cart', 'custom_action_add_to_cart', 20, 6 );
function custom_action_add_to_cart( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ){
// HERE come your code
}
每次使用add_to_cart()
函数时都会触发此钩子。