客户端在购物车页面上有多个运费评级,通过他们的 API 从 FedEx,USPS,UPS 和类似的插件自动生成。问题是,他想按价格排序,而不是由供应商分组。

最终结果:按价格排序的运费

在 WooCommerce 中将运输成本从低到高排序

PHP 片段:排序运送价格 @ WooCommerce 购物车/结帐

// add this to your functions.php

// source: https://support.woothemes.com/hc/en-us/articles/204000435-How-to-Sort-Shipping-Prices-by-Lowest-to-Highest

add_filter( 'woocommerce_package_rates' , 'businessbloomer_sort_shipping_methods', 10, 2 );

function businessbloomer_sort_shipping_methods( $rates, $package ) {

	if ( !$rates ) return;

	$tmp = Array();
	foreach( $rates as $ma ) {
		$tmp[] = $ma->cost;
	}

	array_multisort( $tmp, $rates );

	return $rates;

}


可以在哪里添加此代码?

您可以将 PHP 代码片段放置在主题或子主题的 functions.php 文件的底部(如果是 CSS 代码,请添加到主题的 style.css 文件底部),修改之前建议先备份原始文件,若出现错误请先删除此代码。


这段代码是否正常可用?

或者是您有更好的解决方案想要分享?请到薇晓朵 WooCommerce 中文论坛留言告知,我们希望可以帮到更多国内的 WooCommerce 用户也希望您的参与。


需要关于 WooCommerce 的帮助?

请观看我们提供的免费视频教程或到薇晓朵 WooCommerce 中文论坛提问,会有专业技术团队提供相关帮助。