【问题标题】:How to display the shipping methods choices on specific page?如何在特定页面上显示运输方式选择?
【发布时间】:2019-05-16 14:38:17
【问题描述】:

我正在使用多步结帐流程,并且我试图在第二步中仅显示运输方式选项。 ( 图片 ) https://imgur.com/miAuN8i

默认情况下,送货方式显示在结帐页面中,我将分为 3 个部分:

  1. 账单和运输联系方式
  2. 运送方式
  3. 订单审核和“完成结帐”流程

我当前的代码返回一个空数组,不确定我做错了什么。

add_action( 'woocommerce_review_order_after_shipping', 'woo_shipping_test' );
function woo_shipping_test() {
  $available_shipping = WC()->shipping->get_shipping_methods();
  var_dump($available_shipping);
}

【问题讨论】:

  • 您是否设置了送货区域?
  • 当然可以在图片链接上看到。他们已经设置好了,我只需要把它移到一个单独的部分 - 第 2 步。
  • 我会检查这个钩子 (woocommerce_review_order_after_shipping) 是否真的在您的运输方式页面上被调用。
  • @Dajer 感谢您的评论,我在 review-order.php 中寻找该代码并确实找到了这行代码: 这是调用运输方式的一种方式,但现在发生了一些奇怪的事情,当我检查任何这些运输方式(单选按钮)时,几秒钟后单选按钮被取消选中?知道为什么会这样吗?
  • 嗯,运输是 Woocommerce 的一个复杂部分。基本上,运输价格是根据运输地点和所选方法计算的,因此如果您更改其中任何一项,它会使用 AJAX 请求重新呈现整个评论订单部分。我认为这可能与您的问题有关,但请检查检查器中的网络选项卡以确保。 ;)

标签: wordpress woocommerce checkout multi-step


【解决方案1】:

@Dajer

谢谢朋友。我解决了我的问题 - 只是在这里发表评论以防万一有人需要它(即使这已经非常适合客户的需求)。

我已在结帐流程的第 2 步中添加了这些代码行。尽管如果您单击任何单选按钮,它会在几秒钟内取消选中,但它仍在工作并按应有的方式处理所选的运输方式。至于(选中,未选中)错误,我应用了一些 CSS 作为某种解决方法。

我想这可能不是最好的解决方案,但现在已经足够了。

<?php do_action( 'woocommerce_review_order_before_shipping' ); ?>

<?php WC()->cart->calculate_totals(); ?>

<?php wc_cart_totals_shipping_html(); ?>

<?php do_action( 'woocommerce_review_order_after_shipping' ); ?>

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    相关资源
    最近更新 更多