Woocommerce:获取与使用添加到购物车按钮添加到购物车的产品相关的所有信息

在 Wordpress 主页上,有一个名为 Best Sellers 的部分,展示了网站中的畅销书。总之,这些只是 Woocommerce 循环中带有添加到购物车链接的各种产品。单击此“添加到购物车”链接时,我需要能够通过 AJAX 或 Wordpress/Woocommerce 读取有关刚刚添加到购物车的产品的所有信息,例如其 ID、数量、变体 ID 等无需重新加载页面。


笔记:


请注意,用于完成此任务的任何功能都不应在单击单个产品页面中的添加到购物车按钮时干扰单个产品页面的功能。如果所需的功能级联到网站的其他部分,例如商店、存档等,但不是单一产品页面,那完全没问题。


我尝试了什么:


add_action('wp_footer', 'my_loop_add_to_cart', 21);

function my_loop_add_to_cart() {

    //What code should I write here to access the recently added to cart item? 

}

如果需要,我可以更改挂钩,只是想确保它不会干扰单个产品页面中添加到购物车链接/按钮的功能。


皈依舞
浏览 231回答 2
2回答

HUH函数

有一个名为的钩子woocommerce_after_shop_loop_item仅适用于相关产品和商店页面产品列表。add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 9 );function woocommerce_template_loop_add_to_cart(){   global $woocommerce;   $items = $woocommerce->cart->get_cart();   $last_added_item_details = end($items)['data'];}经过测试并且运行良好

qq_笑_17

有几个选项可以做到这一点。我能想到的一个是使用woocommerce_add_to_cart动作钩子。add_action( 'woocommerce_add_to_cart', 'rmg_woocommerce_add_to_cart', 10, 6 );function rmg_woocommerce_add_to_cart( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ){    // do something with $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data}
打开App,查看更多内容
随时随地看视频慕课网APP