刷新woocommerce微型购物车,而无需添加新产品

时间:2019-03-20 12:12:34

标签: php wordpress woocommerce

我在微型购物车模板中添加了一种送货方式选择器,允许用户在侧边栏购物车中选择一种送货方式。

选择一种送货方式时,我使用以下服务器端脚本来保存更改:

$chosenMethod = filter_var($_POST['shipping_method'], FILTER_SANITIZE_STRING);
WC()->session->set('chosen_shipping_methods', array( $chosenMethod ) );

然后,我使用以下javascript更新迷你购物车视图:

function refreshCartContents() {
  var url = woocommerce_params.wc_ajax_url;
  url = url.replace("%%endpoint%%", "get_refreshed_fragments");
  jQuery.post(url, function (data, status) {
    jQuery(".woocommerce.widget_shopping_cart").html(data.fragments["div.widget_shopping_cart_content"]);
    if (data.fragments) {
      jQuery.each(data.fragments, function (key, value) {

        jQuery(key).replaceWith(value);
      });
    }
    jQuery("body").trigger("wc_fragments_refreshed");
  });
}

这可以正常工作,并且在更改时显示正确的运输方式。但是,当我更新页面时,会显示旧版本的微型购物车,直到将另一种产品添加到购物车中为止-它似乎已被碎片缓存。

切换运输方式后,如何刷新迷你购物车的浏览器缓存版本?

0 个答案:

没有答案