Woocommerce-购物车页面-当购物车更新为新数量时,我希望能够传递总计

时间:2020-06-24 16:09:04

标签: php ajax wordpress woocommerce cart

好吧-尝试慢慢解决这个问题-忍受我!将尝试描述我在这里做什么。

使用主题为Flatsome的Woocommerce-但此问题似乎与Woocommerce如何更新购物车页面上的购物车有关。

所以我想让Woocommerce适应-因此,当客户进入购物车页面时-他们不会移至Checkout-相反,我为他们提供了一个按钮,要求报价-单击以在其中打开带有GravityForm的模态的按钮它。

我已经能够使用第3方插件将产品清单,数量,价格和SKU很好地传递到ok表格中。 但是,男孩,男孩-我可以轻松通过woocommerce中的最新总计吗? 没有我希望的那么容易!

我最初是将此函数编写到我的functions.php中的

// Send the page url to parameter called 'gdcarttotal' for use in gravity forms
add_filter("gform_field_value_gdcarttotal", "populate_gd_carttotal");
function populate_gd_carttotal(){
global $woocommerce;

$totalamount = $woocommerce->cart->cart_contents_total;

return $totalamount;
}

是的,这似乎通过了购物车总数确定。

如果在该购物车页面上更新数量,则会出现 问题。

因此,如果我更新产品的数量-总数等都可以在Woocommerce购物车页面的总价上更新,但是如果我单击启动报价单-当用户使用时,“购物车总价”的值仍为原始总价的值降落在该页面上。因此,需要在购物车页面上刷新整页才能刷新它并将其更新为正确的值。

有人向我提到了Ajax,这超出了我的能力。

真的只是伸出手来-询问什么是最好的方法-或者我怎么能在购物车页面上写一个函数,使我始终可以将最新的TOTAL传递到表单上的某个字段中。

我有几个屏幕截图,但是自从我第一次来这里...我不确定是否可以发布。希望这个描述能讲故事。 基本上想知道-在Woocommerce购物车页面上,如何将最新的TOTAL计算传递到表单或页面等...

谢谢大家!! 加雷斯(Gareth)

1 个答案:

答案 0 :(得分:0)

您遇到的基本问题是用于解决问题的语言。您已经编写了PHP,它是服务器端的(即,不是实时的)。

WooCommerce购物车是AJAX,是JavaScript和XML的混合体,它是在客户端(即在浏览器中)实时处理的。这样一来,您无需重新加载整个页面就可以更新数量和购物车总数,而网站也可以在不重新加载页面的情况下查看购物车中有多少物品。因此,我认为您的解决方案需要在客户端使用JavaScript。

我不是专业开发人员,所以我没有确切的代码给您,但是希望这可以使您走上正确的道路。您还可以在这里阅读有关AJAX的更多信息:https://www.w3schools.com/whatis/whatis_ajax.asp