Zobrazit výsledok shortcode pre CF7

PoradňaKategória otázky: WordPressZobrazit výsledok shortcode pre CF7
Jaroslav Nytra spýtané 3 mesiace dozadu

Zdravím,
vytvoril som si vo WP v php shorcode pre zachytávanie zadávaných údajov pre Contact Form 7. Podľa zadaných údajov vo formulári pak vo function.php dostanem želaný výsledok, ktorý potrebujem zobraziť a tiež dostať do mailu. V CF7 použijem [názov] v záložke E-mail, tiež vo záložke Form a aj na stránke.

1. do mailu výsledok príde v poriadku
2. vo formulári CF7 sa zobrazí zlý výsledok
3. na stránke za formulárom mimo CF7 sa tiež zobrazí rovnaký ale zlý výsledok

Čiže, ešte pred odoslaním CF7 prebehne výpočet a ten sa dostanem do mailu. Ale pre zobrazenie či už vo formulári (za tlačítkom submit použijem [nazov] ) alebo na rovnakej stránke ako formulár (za formulárom použijem [nazov] ) alebo po odoslaní a presmerovaní na novú stránku sa vždy zobrazí zlá hodnota. Výpočet prebehne ešte pred odoslaním a ten sa zobrazí.

Ako je možné získať rovnaký výsledok z shortcode pre email i zobrazenie na web?
Použil som následovné:

add_filter( 'wpcf7_form_elements', 'do_shortcode' );

function nazov_cf7_func() {
  následuje výpočet

}
add_shortcode('nazov', 'pzp_cf7_func');

add_filter('wpcf7_mail_components', 'do_shortcode_mail', 10, 3);
function do_shortcode_mail( $components, $contactForm, $mailComponent ){
if( isset($components['body']) ){
$components['body'] =do_shortcode($components['body']);
}
return$components;
}

Môžem zaslať aj celý kód, ak to pomôže.
Som 50+ a je to moja prvá skúsenosť s webom, nenašiel som nič podobné a už ma nič nenapadá, zatial 🙂

Viete mi niejako poradiť?

Ďakujem.
S úctou
Jaroslav Nytra

1 odpovedí
Vladimír Juroško Autor blogu zodpovedané 3 mesiace dozadu

Dobrý deň,
Toto je veľmi špecifická situácia akú som ešte neriešil. Žiaľ neviem poradiť, kde presne by mohol byť problém. Ak sa vám to nejako podarí vyriešiť dajte vedieť, som zvedavý 🙂

Opovedať

16 + 8 =