frissítve: 2022. 05. 15.
Olvasási idő: 4 perc
Plugout

Adatkezelési nyilatkozat és ÁSZF elfogadási checkboxok a WooCommerce Pénztár oldalára

Nagyon sokszor merül fel a kérdés, hogy hogyan lehet a WooCommerce Pénztár oldalán megjelenő mezőkhöz újabbakat hozzáadni - leginkább az Általános Szerződési Feltételek (l. a 2021. 04. 05-i frissítési jegyzetet) és az Adatkezelési Szabályzat/Nyilatkozat elfogadását kötelezővé tevőket. Ebben a bejegyzésben azt mutatom meg, hogyan teheted ezt meg, pluginek használata nélkül. 


A megszokott módon hozzunk létre egy fájlt az mu-plugins mappában, woocommerce-accept-fields.php néven, az alábbi tartalommal:

A fenti kód első részében (woocommerce_accept_tos_add_to_form függvény) meghatározzuk, hogy a mezőnk milyen jellemzőkkel rendelkezzen, mi legyen a felirata, a típusa, illetve hogy kötelező legyen-e, netán szeretnénk-e CSS osztályokat ráilleszteni, majd ezt a függvényt a woocommerce_after_order_notes hooknál meghívjuk - ezzel meg is jelent a Pénztár oldalon, egy checkbox formájában.

A második részben csak egy ellenőrzést iktattunk be, ami azt figyeli, hogy a woocommerce_checkout_process során elküldött adatban szerepel-e az accept_tos-nál érték - ha nem, akkor a megadott szöveggel hibát dob, és annak kijavításáig nem is engedi tovább a felhasználót.

Ha szeretnénk az "adatvédelmi tájékoztató" elfogadást is kötelezővé tenni, ezt megtehetjük az alábbi kódrészletnek az előzőhöz fűzésével (valójában ugyanazt ismételjük, más értékekkel), így a végleges kód a következőképpen néz ki:

Gratulálok: két kötelező mezőt is hozzáadtál a Pénztár oldalhoz - plugin használata nélkül! :)

Kérdés, kérés, óhaj-sóhaj? Küldj üzenetet! :)

Változások követése

Frissítések

2021. 04. 05.

Bende Roland írt rám, hogy ez a bejegyzés elavult, ugyanis már "[...] nem szükséges az ÁSZF-et programozottan létrehozni. WooCommerce esetén célszerűbb a beállítások \ haladó \ oldalbeállításoknál megadni, melyik aloldal felel meg az ÁSZF oldalnak. Ha ez elmentésre kerül, akkor a checkbox magától megjelenik."

Ezért az ÁSZF-re vonatkozó kódrészletek csak a példa kedvéért maradnak itt, hogy látszódjon, mi a teendő akkor, ha több checkbox-ot is szeretnél a checkout oldalhoz adni.

Ezúton is köszönöm a jelzést!