Dependența plății pentru livrarea selectată
Dacă trebuie să ascundem o formă de plată pentru Samovyvoz, de exemplu plata prin PayPal, atunci pentru acest lucru avem nevoie de acest cod.
Trebuie să fie scris în fișierul functions.php al temei, care se află în rădăcina directorului / wp-content / themes / your_name_name
funcția alter_shipping_methods ($ available_gateways) global $ woocommerce;
$ select_titles = array ();
$ available_methods = $ woocommerce-> expediere-> get_packages ();
$ selected_rates = (isset ($ woocommerce-> sesiune)). $ woocommerce-> session-> get ('selected_shipping_methods'). array ();
foreach ($ available_methods ca metodă $)
($ ales_rates ca $ ales) dacă (isset ($ method ['rates'] [$ selected])) $ chosen_titles [] = $ metoda ['rate'] [$ selected] -> label;
>
dacă (in_array ("Pickup", $ chosen_titles)) este dezactivat ($ available_gateways ['paypal']);
>
returnați $ available_gateways;
>
add_action ('woocommerce_available_payment_gateways', 'alter_shipping_methods');
În linia if (in_array ('Pickup', $ selected_titles)) <слово Самовывоз это фактическое название доставки оно может быть и доставка почтой и доставка Курьером как угодно, все завесит как вы назвали свою доставку
în linia unset ($ available_gateways ['paypal']); în loc de paypal, specificați numele ID-ului gateway-ului metodei de plată care este la modă să se uite în setarea de plată
Iată toate ID-urile standard de gateway de plată
Plăți directe de transfer bancar
Plata prin cec
Cod de numerar la livrare
PayPal paypal
În exemplu, am eliminat plata prin cec la livrare de sine
Pentru a repeta această procedură, dar cu metoda de plată și de plată, copiați codul și modificați numele funcției alter_shipping_methods, de exemplu, la alter_shipping_methods1 la începutul și la sfârșitul codului