EDIT 21.4.2018 – tak na kontaktný formulár nie je potrebné zaškrtávacie políčko so súhlasom spracovania osobných údajov, keďže ide o odoslania formulára za účelom získania služby a podobne. Ak by sa používali aj na iný účel, tak je to niečo iné, ale to u nás nerobíme.

Téma Impreza obsahuje vlastný element Contact form (poznáte ho podľa toho, že captcha obsahuje matematickú otázku). Bohužiaľ od mája musí akýkoľvek formulár obsahovať aj ďalšie údaje, takže nebude vyhovovať novým pravidlám.

Dá sa použiť normálny contact form 7 s checkboxom, ale ten nevyzerá tak profesionálne ako ten od Imprezy.  Takže som sa s ním vyhrala a nižšie si značím postup ako dosiahnuť, aby vyzeral rovnako (okrem captcha samozrejme).

V child téme vo functions.php  pridať filtre, ktorými sa vymení trieda pre samotný form a zrušia sa span tagy okolo formulárových polí.  Toto ovplyvní akýkoľvek formulár CF7 na webe, takže ich treba skontrolovať.

add_filter('wpcf7_form_elements', function($content) {
 $content = preg_replace('/<(span).*?class="\s*(?:.*\s)?wpcf7-form-control-wrap(?:\s[^"]+)?\s*"[^\>]*>(.*)<\/\1>/i', '\2', $content);
return $content;
});
 
 
add_filter( 'wpcf7_form_class_attr', 'custom_custom_form_class_attr' );
function custom_custom_form_class_attr( $class ) {
 $class = ' w-form-h';
 return $class;
}

Definovanie formulára nasledovným spôsobom:

<div class="w-form-row for_name"><div class="w-form-row-field"> [text your-name placeholder "Meno"]</div></div>
<div class="w-form-row for_email"><div class="w-form-row-field"> [email* email placeholder "Email *"]</div></div> 
<div class="w-form-row for_phone"><div class="w-form-row-field"> [text phone placeholder "Telefónne číslo"]</div></div> 
<div class="w-form-row for_message"><div class="w-form-row-field"> [textarea* message placeholder "Správa"]</div></div> 
<div class="w-form-row for_gdpr"><div class="w-form-row-field">
Vyhlásenie: Informácie z tohto formulára nie sú poskytované žiadnej tretej strane.
</div></div>
<div class="w-form-row for_gdpr"><div class="w-form-row-field">
[checkbox* gdpr exclusive "Odoslaním tohto formulára súhlasím so spracovaním osobných údajov v ňom uvedených firmou XY a beriem na vedomie vyhlásenie o neposkytnutí údajov tretím stranám."]
</div></div>

<div class="w-form-row for_captcha"><div class="w-form-row-field">[recaptcha]</div></div> 
[submit "Odoslať správu"]

Úprava tela správy, aby ten súhlas prišiel aj do mailu:

Od: [your-name] <[email]>
Predmet: [subject]

Telefón:
[phone]

Telo správy:
[message]

Súhlas:
[gdpr]

-- 
Tento e-mail bol odoslaný pomocou kontaktného formulára na stránke XY (https://www.XY.sk)

Skontrolovať  a je to. Výsledok vidno v kontaktnom formulári na tejto stránke.  Použitie your-name miesto name si vynútil CF7, ale ostatné políčka som premenovala. Takže ak toto riešenie budete kopírovať, pozor na to.  Upravím, ak zistím, že si GDPR vyžaduje inú formuláciu alebo niečo podobné.

Keby sa vám niečo nezdalo, upozornite. Musíme si pomáhať.

EDIT:  bohužiaľ týmto postupom prestalo fungovať zobrazenie validačných chýb a nebolo jasné, na ktorom poli je chyba.  Takže so zrušila prvú úpravu filtra a rovnaký vzhľad vyriešila  cez css.

 

 

2 komentáre. Leave new

  • ahoj, toto všetko by mohla fungovať aj na inej šablóne? používam DIVI…
    Vďaka a pekný deň prajem
    Zolo

    Odpovedať
    • Jana Mičeková
      24. mája 2018 22:12

      Ahoj, mohlo, ale je to asi zbytočné. Contact7 už má špeciálne políčko – volá sa Akceptácia. Je to upravený checkbox priamo pre tento účel.

      Odpovedať

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Fill out this field
Fill out this field
Prosím uveďte správnu/funkčnú emailovú adresu.
You need to agree with the terms to proceed

Menu