Cum se dezactivează metoda de plată pentru o anumită categorie
Publicat: 2020-09-01Conduceți un magazin WooCommerce și doriți să știți cum puteți dezactiva metoda de plată pentru o anumită categorie sau mai multe metode de plată în funcție de categoriile de produse care sunt prezente în coș? Dacă sunteți în căutarea unei soluții care se concentrează pe categorii de produse, dar cu unele mici modificări ar putea fi modificată și pentru clasele de expediere, de exemplu pentru produsele în sine, acest articol vă va ghida cum să realizați acest lucru.
Dezactivați metoda de plată pentru o anumită categorie
Un bun exemplu în care această abordare este utilă este atunci când proprietarii de magazine WooCommerce au o categorie care conține doar produse cu preț ridicat și doresc ca clienții să plătească prin transferuri bancare în loc să folosească un card de credit. Acesta este doar un exemplu din numeroasele situații în care poate fi necesar să dezactivați o metodă de plată pentru o categorie.
Dacă nu sunteți pasionat de tehnologie, puteți opta pentru un plugin premium care să facă treaba în locul dvs. Un exemplu este Pluginul de plată condiționată WooCommerce, care vă ajută să creați condiții în care metodele dvs. de plată vor fi activate sau dezactivate. Dacă nu sunteți atât de bun la utilizarea codului, aceasta va fi cea mai bună soluție premium pe care ar trebui să o luați în considerare.
Mai mult, acest plugin vă permite să creați condiții nelimitate și să utilizați, de exemplu, totalul coșului, țara de facturare, rolul utilizatorului și multe altele pentru a defini ce gateway de plată arată și care nu.
Cu toate acestea, pentru acest scurt tutorial, vă voi arăta cum să dezactivați o metodă de plată pentru o anumită categorie folosind fragmente de cod PHP.
Pași pentru a dezactiva metoda de plată pentru o anumită categorie utilizând fragmentul de cod PHP
Iată pașii simpli pe care trebuie să-i urmezi:
- Conectați-vă la site-ul dvs. WordPress și accesați tabloul de bord ca utilizator administrator.
- Din meniul Tablou de bord, faceți clic pe Meniu Aspect > Meniu Editor de teme . Când se deschide pagina Editor de teme , căutați fișierul cu funcțiile temei unde vom adăuga funcția care va dezactiva metoda de plată pentru o anumită categorie.
- Adăugați următorul cod în fișierul php :
/** * @snippet Dezactivează metoda de plată pentru o anumită categorie */ add_filter( 'woocommerce_available_payment_gateways', 'njengah_unset_gateway_by_category'); funcția njengah_unset_gateway_by_category ($available_gateways) { if ( is_admin() ) returnează $available_gateways; if ( ! is_checkout() ) returnează $available_gateways; $unset = fals; $category_ids = array( 8, 37 ); foreach ( WC()->cart->get_cart_contents() as $key => $values ) { $terms = get_the_terms( $values['product_id'], 'product_cat' ); foreach ( $term ca $term ) { if ( în_array( $term->term_id, $category_ids ) ) { $unset = adevărat; pauză; } } } if ( $unset == true ) unset( $available_gateways['cec'] ); returnează $available_gateways; }
- Acestea vor fi rezultatele
Nu uitați să adăugați ID-ul de categorie corect care se află în magazinul dvs. WooCommerce pentru ca acest cod să funcționeze.
Dacă nu vă place să utilizați ID-ul categoriei, atunci puteți utiliza și categoria slug în magazinul dvs. WooCommerce. Puteți alege să le utilizați, deoarece sunt mai ușor de înțeles pentru referințe viitoare.
Pași pentru dezactivarea metodei de plată pentru o anumită categorie folosind categoriile Slugs
- Conectați-vă la site-ul dvs. WordPress și accesați tabloul de bord ca utilizator administrator.
- Din meniul Tablou de bord, faceți clic pe Meniu Aspect > Meniu Editor de teme . Când se deschide pagina Editor de teme , căutați fișierul cu funcțiile temei unde vom adăuga funcția care va dezactiva metoda de plată pentru o anumită categorie.
- Adăugați următorul cod în fișierul php :
/** * @snippet Dezactivează gateway-ul de plată în funcție de categorie. */ funcția njengah_disable_payment_gateway_category($gateway) { // Categorii care vor dezactiva gateway-ul de plată $category_slugs = array( 'accesorii', 'alta-categorie'); $category_ids = get_terms( array( 'taxonomy' => 'product_cat', 'slug' => $category_slugs, 'fields' => 'ids' ) ); // Verificați fiecare articol din coș pentru categoria dată foreach ( WC()->cart->get_cart() as $item ) { $produs = $articol['date']; if ( $produs && array_intersect( $category_ids, $product->get_category_ids() ) ) { unset( $gateway['cod'] ); // Dezactivează gateway-ul de plată „cod” atunci când produsul are una dintre categorii pauză; } } returnează $gateway-uri; } add_filter( 'woocommerce_available_payment_gateways', 'njengah_disable_payment_gateway_category');
- Acesta va fi rezultatul
Nu uitați să adăugați categoria corectă și trebuie să definiți poarta de plată pe care doriți să o dezactivați. De exemplu, am folosit „cod” pentru a reprezenta numerarul la livrare.
Este important să rețineți că identificatorul gateway-ului de plată trebuie, de asemenea, schimbat cu oricare pe care doriți să îl dezactivați atunci când categoria dată este prezentă în coș.
- Transfer bancar (bacs)
- cec (cec)
- Ramburs la livrare (cod)
- PayPal (PayPal)
Cu toate acestea, dacă nu utilizați unul dintre gateway-urile de plată implicite, nu vă faceți griji, deoarece există încă o modalitate ușoară de a afla ID-ul gateway-ului de plată. Puteți face acest lucru accesând pagina de setări a gateway-ului de plată și veți găsi ID-ul acolo.
De exemplu, pentru opțiunea Ramburs la livrare din pagina de setări, aceasta va fi adresa URL: wp-admin/admin.php?page=wc-settings&tab=checkout§ion=cod
Concluzie
În această postare, ați învățat cum să dezactivați metoda de plată pentru o anumită categorie folosind două metode. Le puteți defini utilizând ID-uri de categorie de produse sau slug-uri de categorie pentru o referință ușoară în viitor. Nu uitați să utilizați ID-ul categoriei sau slug-ul care se află în magazinul dvs. WooCommerce pentru a adăuga această funcționalitate.
Articole similare
- Redirecționare WRAC WooCommerce după pluginul de finalizare a plății
- Cum să schimbați textul butonului Adăugați în coș în pagina magazinului WooCommerce
- Cum să eliminați Descărcări Meniul Contul meu Pagina WooCommerce
- Cum să vinzi produse digitale cu WooCommerce
- Cum să eliminați Sortarea implicită a produselor WooCommerce
- Cum să adăugați numere GTIN pe produse în WooCommerce
- Cum să sortați categoriile WooCommerce pentru o experiență mai bună a utilizatorului
- Cum să ascundeți toate produsele din pagina de magazin în WooCommerce
- Cum să ascundeți câmpul Cod cupon WooCommerce
- Ascundeți sau eliminați câmpul Cantitate din pagina produsului WooCommerce
- Cum să afișați produsele WooCommerce după categorie
- Cum se adaugă imaginea produsului Pagina de plată WooCommerce