Kentashi utworzono 9 listopada 2021 utworzono 9 listopada 2021 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 9 listopada 2021 komentarz 9 listopada 2021 (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'); 1
Kentashi komentarz 10 listopada 2021 Autor komentarz 10 listopada 2021 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.