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! :)
Frissítések
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!