Cum să folosești alte shortcode-uri în formularele Contact Form 7?

12 mar. 2012, 13:42:59
Vizualizări: 64.1K
Voturi: 19

Am observat că orice shortcode care nu face parte din shortcode-urile integrate în Contact Form 7 nu funcționează.

De exemplu: Încerc să folosesc un shortcode de tip acordeon între elementele formularului în Contact Form 7. Dar codul nu funcționează.

Cum pot rezolva această problemă fără să editez fișierele core ale Contact Form 7?

1
Comentarii

Nu sunt sigur că poți face asta. Shortcode-urile trebuie să fie într-o pagină sau post, nu-i așa? Nu cred că poți pune un shortcode între elementele unui formular. Unde ai pune-le? ... în setările Contact Form 7? Nu poți face asta acolo, din câte știu eu (decât dacă urmezi niște instrucțiuni pentru Contact Form 7 pe care nu le-am auzit).

byronyasgur byronyasgur
12 mar. 2012 14:59:42
Toate răspunsurile la întrebare 1
4
25

Există două modalități de a realiza ceea ce doriți. Prima metodă este să adăugați acest cod în fișierul functions.php al plugin-ului Contact Form 7:

add_filter( 'wpcf7_form_elements', 'mycustom_wpcf7_form_elements' );

function mycustom_wpcf7_form_elements( $form ) {
$form = do_shortcode( $form );

return $form;
}

Aceasta vă permite să introduceți shortcode-uri direct în CF7. A doua metodă este să adăugați manual Acordeonul folosind HTML în formularul de contact, astfel:

<!-- început clasa .wp-accordion -->
<div class="wp-accordion wpui-light">

    <!-- Panoul primului tab -->
    <h3 class="wp-tab-title">Tab 1</h3>
    <!-- Conținutul primului tab -->
    <div class="wp-tab-content">
          Toate conținuturile primului tab se pun aici....
    </div><!-- sfârșit primul tab -->

      <!-- La fel, Panoul al doilea -->
      <h3 class="wp-tab-title">Tab 2</h3>
      <div class="wp-tab-content">
            Conținutul celui de-al doilea tab
       </div>

</div><!-- sfârșit clasa wp-accordion -->

Cred că a doua metodă este preferabilă, deoarece nu implică modificarea fișierelor de bază ale plugin-ului. Sper că acest lucru vă este de ajutor!

12 mar. 2012 19:03:01
Comentarii

De fapt - poți adăuga codul de filtrare în fișierul functions.php al temei tale și shortcode-urile vor funcționa corect în interiorul unui formular CF7. Nu pot confirma dacă cel specific (pentru acordeon) va funcționa sau nu - am testat doar cu un shortcode care nu conține alte shortcode-uri CF7, dar practic totul depinde de modul în care este gestionat shortcode-ul în cauză.

Nikola Ivanov Nikolov Nikola Ivanov Nikolov
20 mar. 2013 14:35:50

într-adevăr, un simplu add_filter( 'wpcf7_form_elements', 'do_shortcode' ); face treaba din fișierul functions.php al temei mele child.

Evan Mattson Evan Mattson
30 sept. 2013 06:21:01

Dacă dorești să utilizezi același conținut în mai multe locații pe site-ul tău, este mai bine să creezi un shortcode (localizabil dacă este necesar), decât să copiezi și să lipesti același HTML peste tot.

Craig Tullis Craig Tullis
12 sept. 2014 03:02:48

Am folosit acest cod, dar nu funcționează, așa că poți să mă ajuți, te rog? https://wordpress.stackexchange.com/questions/359534/my-shortcode-is-not-working-in-contact-form-7-message-body

Rahul Kumar Rahul Kumar
26 feb. 2020 16:58:16