Woocommerce - Ascunde butonul "Adaugă în coș" pentru produsele gratuite

8 aug. 2013, 11:47:11
Vizualizări: 16.2K
Voturi: 4

Folosesc WooCommerce și caut o metodă de a ascunde butonul "Adaugă în coș" pe
pagina unui singur produs DOAR DACĂ produsul este gratuit - Fac un import CSV mare și unele prețuri de produse sunt setate la zero - vreau doar să ascund butonul "adaugă în coș" pentru aceste produse, astfel încât să nu poată fi cumpărate.

Am întrebat deja asta pe pagina de suport, dar fără succes

Salutări

2
Comentarii

Aveți codul fișierului dumneavoastră single-product.php?

fischi fischi
8 aug. 2013 11:54:13

Da, dar nu cred că ar fi de ajutor, deoarece modificările în single-product.php nu au efect asupra acestei probleme. Cineva mi-a spus să "creez o nouă funcție legată de init care verifică prețul unui produs, dacă este zero să elimine butonul de adăugare în coș folosind remove_action()"

Așa că da, nu sunt bun la codare și nu pot face asta singur. Sper că acest lucru vă ajută :)

user36383 user36383
8 aug. 2013 12:10:57
Toate răspunsurile la întrebare 2
7

Uită-te la începutul șabloanelor de adăugare în coș din WooCommerce. La început există o verificare pentru a determina dacă produsul poate fi cumpărat. În interiorul metodei is_purchasable() din clasa produsului există un filtru. Implicit, produsul nu poate fi cumpărat dacă nu este setat niciun preț, dar acest lucru poate fi extins pentru a acoperi produsele pentru care prețul este setat la 0.

function wpa_109409_is_purchasable( $purchasable, $product ){
    if( $product->get_price() == 0 )
        $purchasable = false;
    return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 );
9 aug. 2013 00:06:26
Comentarii

Mulțumesc mult! Aceasta a fost exact soluția la problema mea!

user36383 user36383
13 aug. 2013 10:53:15

@helgatheviking, răspunsurile tale de pe aici sunt de neprețuit. Continuu să le găsesc din nou și din nou! mulțumesc!

pcarvalho pcarvalho
14 aug. 2016 06:37:53

Cu plăcere @peteroak, mă bucur că ți-au fost utile. Petrec prea mult timp pe aici :) (mai mult pe SO acum la tag-ul WooCommerce, dar totuși)

helgatheviking helgatheviking
14 aug. 2016 23:02:53

DA! Adăugam o cantitate ridicolă de condiționale în fișierele de template pentru a verifica o valoare proprie și a vedea dacă un utilizator avea voie să cumpere un produs. Am folosit în schimb acest filtru (pe care cumva l-am ratat complet) - REZOLVAT! Mulțumesc, Kathy.

indextwo indextwo
31 oct. 2016 15:46:45

Salut @helgatheviking, este posibil să adaugi o descriere a produsului sau un mesaj pe pagină pentru acele produse specifice când sunt ascunse în coș?

Gregory Gregory
15 dec. 2020 18:36:20

am găsit o soluție prin conectarea la "woocommerce_single_product_summary" cu "$product->is_purchasable()"

Gregory Gregory
15 dec. 2020 18:43:57

Din anumite motive, site-ul nostru nu afișa butonul "Adaugă în coș" pentru un produs cu prețul 0.00, așa că am adăugat acest cod și acum afișează butonul pentru produsele care nu au niciun preț introdus (am prefera să nu apară butonul în acest caz). Aveți sugestii, vă rog? add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 ); function wpa_109409_is_purchasable( $purchasable, $product ){ if( $product->get_price() >= 0.00) $purchasable = true; return $purchasable; }

Crazeco.com.au Crazeco.com.au
27 aug. 2022 15:07:51
Arată celelalte 2 comentarii
0

Din câte am înțeles problema ta.. WooCommerce are o opțiune atunci când nu pui niciun preț, butonul nu va apărea deloc..
Produsul tău devine ca un simplu catalog/galerie..
Dacă asta este ceea ce cauți.. probabil cea mai ușoară soluție ar fi să editezi fișierul CSV.. doar să găsești și să înlocuiești zerourile cu spațiu gol..

8 aug. 2013 23:26:51