php - 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?
}
如果需要,我可以更改挂钩,只是想确保它不会干扰单个产品页面中添加到购物车链接/按钮的功能。
解决方案
有几个选项可以做到这一点。我能想到的一个是使用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
}
推荐阅读
- pdf - Libre Office 标签在 iTextSharp 中不显示为“AcroFields”?
- javascript - 使用香草 JS/CSS 动画顶部导航栏的打开/关闭
- angular - Angular 7 - 从服务器获取更新到应用程序的最佳方式
- mongodb - mongodb 终端 - $push/$pull - SyntaxError: invalid property id @(shell)
- node.js - 如何在 Heroku 系统变量中设置主文件夹?
- cassandra - 致命错误:未捕获的 Cassandra\Exception\RuntimeException:Keyspace 'opspot' 不存在于
- c++ - 为什么 std:endl 将零分配给未初始化的变量?
- c# - 无法运行命令。错误:没有为此 DbContext 配置数据库提供程序
- python - 在 Python 中添加两个列联表
- c# - 在 C# 中将空类作为默认参数发送到泛型类