A következő kód arra szolgál, hogy eltávolítsunk egy terméket a felhasználó kosarából. Mivel ez az action (‘template_redirect’) minden oldalbetöltéskor lefut, érdemes valamilyen feltétellel együtt használni, például csak egy bizonyos oldalon hagyni végigfutni a függvényt.


Tehát a lenti példában, ha egy nem admin felhasználó a 154-es azonosítójú oldalra lép, törölni fogja a kosárból a 245-ös azonosítójú terméket.


A termék törlése a kosárból egy kicsit bonyolultabb folyamat, amit itt most nem részletezek, az utolsó 3 sor gondoskodik erről.

add_action( 'template_redirect', 'ov_remove_product_from_cart' );
 
function ov_remove_product_from_cart() {
   if ( is_admin() ) return; // Ha admin felhasználó, nem fut végig a függvény
   if ( !is_page(154) ) return; // Csak a 154-es oldalon fut végig a függvény 
   $product_id = 245; // Törölni kívánt termék
   $product_cart_id = WC()->cart->generate_cart_id( $product_id );
   $cart_item_key = WC()->cart->find_product_in_cart( $product_cart_id );
   if ( $cart_item_key ) WC()->cart->remove_cart_item( $cart_item_key );
}

Hol kell hozzáadni ezt a kódot?

A használt sablonban a functions.php fájl végére érdemes beszúrni a kódrészletet, vagy egy új plugint létrehozni, és abba beilleszteni. Ha a sablon functions.php fájlját választjuk, akkor érdemes előtte gyerek sablont (child theme) létrehozni, és ennek a functions.php fájljába illeszteni. Így egy sablon frissítésnél nem fog elveszni a kódrészlet.