Php 在Woocommerce中只显示最高的运输类成本,而不显示插件

Php 在Woocommerce中只显示最高的运输类成本,而不显示插件,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我只需要在WooCommerce结帐屏幕上显示最高的运费级别。如果用户在购物车中有两个产品具有不同的运输类别成本,则只应计算较高的产品,而后端设置设置为“按类别计算” 我一直在做一些研究,但找不到解决方案,所以我自己写了一个代码。它不起作用,结帐仍然计算购物车中产品的所有运输类成本 function only_show_most_expensive_shipping_rate( $rates, $package ) { if ( is_admin() && ! defin

我只需要在WooCommerce结帐屏幕上显示最高的运费级别。如果用户在购物车中有两个产品具有不同的运输类别成本,则只应计算较高的产品,而后端设置设置为“按类别计算”

我一直在做一些研究,但找不到解决方案,所以我自己写了一个代码。它不起作用,结帐仍然计算购物车中产品的所有运输类成本

function only_show_most_expensive_shipping_rate( $rates, $package ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
      return $rates;

    $most_expensive_method = '';

    if ( is_array( $rates ) ) :
        foreach ( $rates as $key => $rate ) :

            if ( empty( $most_expensive_method ) || $rate->cost > $most_expensive_method->cost ) :
            $most_expensive_method = $rate;
            endif;
        endforeach;
    endif;
    // Return the most expensive rate when possible
    if ( ! empty( $most_expensive_method ) ) :
        return array( $most_expensive_method->id => $most_expensive_method );
    endif;
    return $rates;
}
add_action( 'woocommerce_package_rates', 'only_show_most_expensive_shipping_rate', 10, 2 );

有人能指出我做错了什么吗?谢谢你

找到这个:[链接]谢谢。该网站的代码取自Quora,我最初在那里找到并更新了它。但是,它不起作用。