gpt4 book ai didi

php - Woocommerce Onepage 结帐不显示运费

转载 作者:行者123 更新时间:2023-12-03 07:26:31 24 4
gpt4 key购买 nike

我有一个 Woocommerce One Page Checkout 网站,当前包含一种产品。到目前为止一切正常,但由于某种原因我没有看到显示的运费。

价格计算正确,当我进入付款门户时,运费会添加到总价中,但不会显示运费。

在我寻找解决方案时提供一些见解:渲染所有数据发生在 /woocommerce/templates/checkout/review-order.php

有一个叫做:

<?php wc_cart_totals_shipping_html(); ?>

此函数可以在/woocommcerce/includes/wc-cart-functions.php中找到

正在执行的代码是:

/**
* Get shipping methods
*
* @access public
* @return void
*/
function wc_custom_cart_totals_shipping_html() {

$packages = WC()->shipping->get_packages();
foreach ( $packages as $i => $package ) {
$chosen_method = isset( WC()->session->chosen_shipping_methods[ $i ] ) ? WC()->session->chosen_shipping_methods[ $i ] : '';

wc_get_template( 'cart/cart-shipping.php', array( 'package' => $package, 'available_methods' => $package['rates'], 'show_package_details' => ( sizeof( $packages ) > 1 ), 'index' => $i, 'chosen_method' => $chosen_method ) );
}
}

问题是 $packages = WC()->shipping->get_packages();返回一个空数组。

/woocommerce/includes/class-wc-shipping.php中的get_packages函数如下:

/**
* Get packages
* @return array
*/
public function get_packages() {
return $this->packages;
}

因此属性 $this->packages 未设置。此属性在同一文件 /woocommerce/includes/class-wc-shipping.php

的函数calculate_shipping 中设置

我尝试在 $packages = WC()->shipping->get_packages(); 之前调用该函数,但这不起作用。

有人可以帮我吗?请注意,我在 Wordpress 编程方面没有太多经验。

亲切的问候,

皮姆

最佳答案

遇到了同样的问题,但过了一段时间就解决了,你需要打电话

WC()->cart->calculate_totals();

这将填充软件包,然后您可以使用

wc_cart_totals_shipping_html();

显示可用的运输方式列表,无论您喜欢什么地方

关于php - Woocommerce Onepage 结帐不显示运费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32251262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com