【问题标题】:How to disable default shipping and payment options on checkout with WooCommerce?如何使用 WooCommerce 在结帐时禁用默认运输和付款选项?
【发布时间】:2015-11-29 09:04:38
【问题描述】:

我正在寻找一种方法来禁用 WooCommerce 上“查看购物车”和/或“结帐”页面上的默认付款选项和送货选项。

我尝试过的一切都没有奏效。 JS 失败了,因为这部分一直在刷新。并且 PHP 失败,因为它在购物车中的每次更改时都会刷新未选中状态。

知道怎么做吗?

谢谢

【问题讨论】:

  • 为什么要禁用默认选择?
  • 我们有太多的案例,客户实际上并没有考虑它,而是点击了继续按钮。之后遇到了一些困难......

标签: php wordpress woocommerce


【解决方案1】:

这应该可以解决问题:

add_filter( 'pre_option_woocommerce_default_gateway' . '__return_false', 99 );
add_filter( 'woocommerce_shipping_chosen_method', '__return_false', 99);

这只会删除默认选择。如果选择存储在您的会话中,它将照常应用。测试时请记住这一点。

编辑:不幸的是,由于 WooCommerce 4+ 这不再起作用。

【讨论】:

  • 为什么不改用remove_filter
  • @jycr753:remove_filter 只会恢复到默认值,这是他想要更改的。
  • 感谢您的澄清 :)
  • 嗯,我不确定现在删除过滤器时最好的方法是什么。也许您可以像这样在代码中的适当位置重置用户会话中选择的方法(您只想在第一次加载结帐之前运行一次,因为它会在客户做出其他选择后重置选择) :WC()->session->set( 'chosen_payment_method', '' );WC()->session->set( 'chosen_shipping_methods', '' );
  • pre_option_woocommerce_default_gateway 可能不再有效,但我想澄清一下,截至 2021 年 7 月,woocommerce_shipping_chosen_method仍然有效
猜你喜欢
  • 2021-07-08
  • 2015-11-05
  • 2018-01-03
  • 2018-02-03
  • 1970-01-01
  • 2020-10-20
  • 2019-09-30
  • 2019-03-10
  • 1970-01-01
相关资源
最近更新 更多