WooCommerce – Скрыть другие способы доставки, когда доступна БЕСПЛАТНАЯ ДОСТАВКА

Я хотел бы скрыть другие варианты доставки, когда бесплатная доставка доступна на Woocommerce.

Потому что последняя версия woocommerce теперь все еще показывает другие варианты доставки, даже если есть бесплатная доставка.

Пожалуйста помоги

Этот фрагмент кода для WooCommerce 2.6+ приведен в этом недавнем фрагменте кода. что вы можете попробовать:

add_filter( 'woocommerce_package_rates', 'hide_other_shipping_when_free_is_available', 100, 2 ); function hide_other_shipping_when_free_is_available( $rates, $package ) { $free = array(); foreach ( $rates as $rate_id => $rate ) { if ( 'free_shipping' === $rate->method_id ) { $free[ $rate_id ] = $rate; break; } } return ! empty( $free ) ? $free : $rates; } 

Для WooCommerce 2.5 вы должны попробовать следующее:

 add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 ); function hide_shipping_when_free_is_available( $rates, $package ) { // Only modify rates if free_shipping is present if ( isset( $rates['free_shipping'] ) ) { // To unset a single rate/method, do the following. This example unsets flat_rate shipping unset( $rates['flat_rate'] ); // To unset all methods except for free_shipping, do the following $free_shipping = $rates['free_shipping']; $rates = array(); $rates['free_shipping'] = $free_shipping; } return $rates; } 

Вставьте этот код в файл function.php, расположенный в вашей активной дочерней теме или теме.

Справка:

  • Скрыть другие способы доставки, когда доступна БЕСПЛАТНАЯ ДОСТАВКА (официальный документ)
  • WooCommerce Бесплатная доставка, если более 5 фунтов