Tovább a tartalomhoz

É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.

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ő.

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.

https://minta-bolt.hu/product/keramia-bogre/
Hibaüzenet kötelező mező kitöltése nélkül

A képen a Gravírozott felirat kötelező mező. üzenet látszik a termékoldal tetején.

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.

https://minta-bolt.hu/wp-admin/admin.php?page=wc-settings&tab=pewc&section=pewc_optimised_validation
Az Érvényesítés szekció beállításai

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 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.

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' );

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.

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 );

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.

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások