为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
皈依舞 2022-07-22 16:56:19
在 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? }如果需要,我可以更改挂钩,只是想确保它不会干扰单个产品页面中添加到购物车链接/按钮的功能。
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

有一个名为的钩子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'];

}

经过测试并且运行良好


查看完整回答
反对 回复 2022-07-22
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

有几个选项可以做到这一点。我能想到的一个是使用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

}


查看完整回答
反对 回复 2022-07-22
  • 2 回答
  • 0 关注
  • 230 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号