x-kom hosting

[PHP] Jeśli wartość większa niż - znika z pola wyboru

Kentashi
utworzono
utworzono

Witam, posiadam pewien problem i potrzebuję troszkę pomocy w napisaniu kodu, otóż chciałbym, aby kod usuwał z możliwości wyboru - dostawy za pobraniem, kiedy wartość koszyka przekroczy daną sumę (4999zł). Na ten moment mam coś takiego:

/**
 * Filter payment gateways
 */
function my_custom_available_payment_gateways( $gateways ) {
	$chosen_shipping_rates = ( isset( WC()->session ) ) ? WC()->session->get( 'chosen_shipping_methods' ) : array();

		if ( in_array( 'flat_rate:1', $chosen_shipping_rates ) ) :
		unset( $gateways['cod'] );

	endif;
	return $gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'my_custom_available_payment_gateways' );

w tym momencie kod powoduje to, że faktycznie opcja "za pobraniem" znika z pola wyboru, ale nie tak jakbym chciał czyli po przekroczeniu danej wartości (4999). Prosiłbym o pomoc, bo nie mam pomysłu jak dalej ten kod powinien wyglądać. Z góry dziękuje za pomoc.

-n3veR
komentarz
komentarz (edytowane)
<?php

function wrd_removeCashOnDeliveryWhenCartValueIsGreaterThan4999(array $gateways): array
{
  if (WC()->cart->subtotal > 4999) {
    unset($gateways['cod']);
  }
  
  return $gateways;
}
add_filter('woocommerce_available_payment_gateways', 'wrd_removeCashOnDeliveryWhenCartValueIsGreaterThan4999');

 

  • Dziękuję 1
Kentashi
komentarz
komentarz
12 godzin temu, -n3veR napisał:
<?php

function wrd_removeCashOnDeliveryWhenCartValueIsGreaterThan4999(array $gateways): array
{
  if (WC()->cart->subtotal > 4999) {
    unset($gateways['cod']);
  }
  
  return $gateways;
}
add_filter('woocommerce_available_payment_gateways', 'wrd_removeCashOnDeliveryWhenCartValueIsGreaterThan4999');

 

Dzięki wielkie, działa tak jak chciałem :)

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.