Ako iz nekog razloga želite ograničiti mogućnost prodaje proizvoda iz određene kategorije i to isključivo vikendom, sljedeći kod bi vam mogao dobro doći. Dakle, proizvodi i gumbi će i dalje biti vidljivi ali će na stranici shopa/kategorije umjesto teksta “Dodaj u košaricu” kupac vidjeti “Pročitaj više”.
U functions.php datoteku aktivne (“child”) teme dodajte sljedeći kod, prilagodite ime kategorije i dane (pon-ned = 1-7)
/* Disable products from specific category from being purchased on weekends */ add_filter('woocommerce_is_purchasable', 'mx_category_unpurchasable_on_weekends', 10, 2 ); function mx_category_unpurchasable_on_weekends( $is_purchasable, $product ) { if( has_term( 'perishables', 'product_cat', $product->get_id() ) && (date('N') == '6' || date('N') == '7')) { return false; } return $is_purchasable; }
Na liniji 7 smo osim conditionala za kategoriju perishables provjerili radi li se o suboti i nedjelji.
Skrećem vam pažnju da aktivacijom ovog koda svi proizvodi koje kupci u tom trenu imaju u košarici, više neće moći biti kupljeni (prikazat će im se poruka da proizvod trenutno nije moguće kupiti i proizvod će biti “izbačen” iz košarice).
Ukoliko želite onemogućiti prodaju SVIH proizvoda, možete koristiti ugrađeni filter woocommerce_is_purchasable
add_filter( 'woocommerce_is_purchasable', '__return_false' );