Érvényesítés
Kötelező mezők, az optimalizált érvényesítés és a hibaüzenetek.
Az érvényesítéssel szabályokat adhatsz a mezőknek. A leggyakoribb a kötelező mező: ha a vásárló nem tölti ki, hibaüzenetet kap, és nem teheti kosárba a terméket.
Kötelező mező
Szekció neve “Kötelező mező”A mező Általános fülén kapcsold be a Kötelező mező? kapcsolót. A termékoldalon a mező felirata mellett csillag (*) jelzi, hogy kötelező.
Alapértelmezett viselkedés
Szekció neve “Alapértelmezett viselkedés”Alapból a mezők ellenőrzése a Kosárba teszem gombra kattintáskor történik. A WooCommerce ilyenkor elküldi az űrlapot, és újratölti a termékoldalt, a hibaüzenet az újratöltött oldalon jelenik meg. A hibaüzenet helyét és kinézetét a sablon (téma) határozza meg.

A képen a Gravírozott felirat kötelező mező. üzenet látszik a termékoldal tetején.
Optimalizált érvényesítés
Szekció neve “Optimalizált érvényesítés”Ha azt szeretnéd, hogy az oldal újratöltése nélkül jelenjen meg a hiba, kapcsold be az Optimalizált érvényesítést a WooCommerce → Beállítások → Termékkiegészítők → Érvényesítés oldalon.

Bekapcsolva a hibás mezők mellett közvetlenül megjelenik az üzenet, amikor a vásárló a Kosárba teszem gombra kattint. Ez sok mezős termékoldalon különösen hasznos, mert megmutatja, melyik mezőt kell javítani.
| Beállítás | Mit csinál |
|---|---|
| Optimalizált érvényesítés | Bekapcsolja a mezők JavaScript-alapú érvényesítését. |
| Végösszegek elrejtése az érvényesítésig | Elrejti a részösszegmezőket, amíg az összes kötelező mező ki nem lett töltve. Optimalizált érvényesítés szükséges hozzá. |
| Csoportok kikapcsolása | Kikapcsolja a következő csoportokat, amíg az aktuális csoport összes kötelező mezője ki nem lett töltve. Csak harmonika-, lépés- vagy fülalapú elrendezésben működik. Optimalizált érvényesítés szükséges hozzá. |
| Görgetés kikapcsolása a lépésalapú elrendezésben | Kikapcsolja a görgetési animációt a lépésalapú elrendezésben, ha az érvényesítés sikertelen. Optimalizált érvényesítés szükséges hozzá. |
Ha az érvényesítés nem működik
Szekció neve “Ha az érvényesítés nem működik”Ha a vásárló a kötelező mező kitöltése nélkül is kosárba teheti a terméket, kapcsold be az Optimalizált érvényesítést. Ez megakadályozza a kosárba helyezést a hibás mezőkkel.
Számmező érvényesítése
Szekció neve “Számmező érvényesítése”Ha egy számmezőnél minimum vagy maximum értéket adtál meg, a bővítmény akkor is ellenőrzi, ha a mező nem kötelező. Ha például a minimum 5, és a vásárló üresen hagyja a mezőt, akkor is hibaüzenetet kap. A pewc_only_validate_number_field_value_if_field_required szűrővel kikapcsolhatod ezt a nem kötelező számmezőknél:
<?php
add_filter( 'pewc_only_validate_number_field_value_if_field_required', '__return_true' );Hibaüzenetek módosítása
Szekció neve “Hibaüzenetek módosítása”Az üzenetek szövegét kódrészlettel módosíthatod. A kódot a sablon functions.php fájljába vagy egy kódrészlet-bővítménybe tedd.
Az általános üzenet
Szekció neve “Az általános üzenet”A pewc_filter_validation_notice szűrő a kötelező mező hibaüzenetét cseréli. Három paramétert kap: az eredeti üzenetet, a mező feliratát és a mező adatait.
<?php
add_filter( 'pewc_filter_validation_notice', function ( $uzenet, $felirat, $mezo ) { return 'Kérjük, töltsd ki ezt a mezőt: ' . esc_html( $felirat );}, 10, 3 );Altermék-mennyiségek üzenetei
Szekció neve “Altermék-mennyiségek üzenetei”Az optimalizált érvényesítésnél a Termékek mezők altermék-mennyiségi szabályainak (pontos, legalább, legfeljebb) külön szűrőjük van, amelyek az üzenetet, a mező feliratát és a termékek számát kapják: pewc_filter_exact_children_validation_notice, pewc_filter_min_children_validation_notice és pewc_filter_max_children_validation_notice. Alapból mindhárom ugyanazt a szöveget adja, ezért érdemes külön-külön átírni őket. A legfeljebb szabály üzenetébe beszúrhatod a mező feliratát és a megengedett legnagyobb számot is.
Egyedi ellenőrzés
Szekció neve “Egyedi ellenőrzés”A kosárba tételkor futó ellenőrzéshez a pewc_filter_validate_cart_item_status szűrő kapcsolódik. A paraméterei: a jelenlegi eredmény ($passed), a beküldött adatok ($_POST), a mező adatai, a termék azonosítója, a mennyiség és a variáció azonosítója. Ha az ellenőrzés sikertelen, adj hozzá egy hibaüzenetet a WooCommerce-ben, és false értéket adj vissza.
Példa, amely egy szám mezőnél legalább 10 értéket követel meg (a pewc_group_123_456 helyére a saját meződ azonosítója kerül):
<?php
add_filter( 'pewc_filter_validate_cart_item_status', function ( $passed, $post, $item, $product_id, $quantity, $variation_id ) { if ( 'pewc_group_123_456' === $item['id'] ) { $ertek = isset( $post['pewc_group_123_456'] ) ? floatval( $post['pewc_group_123_456'] ) : 0; if ( $ertek < 10 ) { wc_add_notice( 'Az értéknek legalább 10-nek kell lennie.', 'error' ); $passed = false; } } return $passed;}, 10, 6 );Ugyanígy ellenőrizhetsz más szabályt is, például egy feltöltés-mezőnél a legalább ennyi fájlt, vagy egy adott terméknél az altermékek összmennyiségét a woocommerce_add_to_cart_validation horogra kötve. Ügyelj rá, hogy a hibaüzenet szövege egyezzen a szabállyal: ha a kód legalább 3 fájlt kér, az üzenet se írjon mást.
Készült: Frissítve: