我有一个Woocommerce单页结帐网站,目前有一个产品。到目前为止一切正常,但由于某种原因,我没有看到运费显示。
价格计算是正确的,当我去paymentportal的shippingcosts被添加到总价,但运费没有显示。
为了给我寻找解决方案的过程给予一些见解:所有数据的呈现都发生在**/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编程。
此致,
皮姆
1条答案
按热度按时间zujrkrfu1#
有同样的问题,但设法解决了一段时间后,你需要打电话
这将填充包,然后您可以使用
在您喜欢的任何位置显示可用的配送方式列表