Simple booking form

Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  fancomp a poslední změna je stará 11 let, 7 měsíců.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #1707

    fancomp
    Participant

    Zdravím,

    chtěl bych se zeptat zdali máte někdo zkušenosti s tímto pluginem. Texty a pod. jsem dostal do češtiny, ale od začátku se mi nedaří vyřešit problém s automatickou odpovědí. Přijde text ve formě rozsypaného čaje.

    fancomp@seznam.cz

    Předem díky za odpověď

    #11671

    admin
    Keymaster
    Web

    Díval jsem se zběžně na zdrojové kódy pluginu Simple Booking Form a patrně tam bude natvrdo nastavené anglické kódování notifikačního emailu. V souboru simple-booking-form.php (řádek 418) je následující kód:

    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "rn";

    Zkuste změnit iso-8859-1 na iso-8859-2, případně ještě lépe na utf-8.

    #11672

    fancomp
    Participant

    Díky když to přehodím na sadu utf-8 tak je to v pořádku. Jediné co přijde rozhozené je jméno obsahující diakritiku v předmětu emailu. Ale jinak email už dojde v pořádku.

    #11673

    admin
    Keymaster
    Web

    Aha, už to vidím :-)

    Problém je v tom, že jsme nastavili správné kódování pouze pro samotný obsah emailu a nejsou už kódované hlavičky a předmět, což je možné udělat např. takto. Ve WordPressu je to ale naštěstí ještě trochu jednodušší, takže stačí použít místo výchozí PHP funkce mail() upravenou funkci wp_mail(), která už všechny tyto problémy řeší. Nechápu, proč ji nepoužívá i autor pluginu. Obecně je celý ten plugin trochu podivný a zvážil bych použití nějakého známějšího, např. Contact Form 7.

    Každopádně oprava by měla být jednoduchá, stačí změnit v souboru simple-booking-form.php na dvou místech (řádky 429 a 431) funkci mail na wp_mail (parametry zůstávají stejné) a vše by už mělo fungovat bez problémů.

    #11674

    fancomp
    Participant

    Bohužel s funkcí wp_mail to neposílá nic. Upravili jsme to nakonec takto:

    //definice emailu pro zasílání
    $emailadmina = "email@email.cz";
    $headers .= 'From: '.get_option('blogname').' <'. $emailadmina .'> '."rn"; // get_option('admin_email')

    // Mail it
    $kodovani = "utf-8";
    $clearsubject = "".$oggetto;
    $encodedsubject = base64_encode($clearsubject);
    $subject = "=?".$kodovani."?B?".$encodedsubject."?=";

    mail($contactemail, $subject, $email_html, $headers);
    mail($emailadmina, $subject, $email_html, $headers); // get_option('admin_email')

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti