¿Cómo utilizar otros códigos cortos dentro del formulario de contacto 7- formularios? [cerrado]

15

Noté que cualquier shortcode que no sea parte del formulario de contacto 7 shortcodes incorporados no funciona.

Por ejemplo: estoy tratando de usar un código corto de acordeón entre los elementos del formulario en el formulario de contacto 7. Pero el código no funciona.

¿Cómo resolver esto sin editar los archivos principales del formulario de contacto 7?

alhoseany
fuente
No estoy seguro de que puedas hacer esto. Los códigos cortos deben estar en una página o publicación, ¿no? No creo que puedas poner un código corto entre los elementos del formulario. ¿Dónde los pondrías? ... en la configuración del formulario de contacto 7? No puede hacer eso allí AFAIK (a menos que esté siguiendo algunas instrucciones del formulario de contacto 7 que no he oído hablar).
byronyasgur

Respuestas:

21

Hay dos formas de hacer lo que quieres. La primera forma es agregar este código a functions.php del complemento Contact Form 7:

add_filter( 'wpcf7_form_elements', 'mycustom_wpcf7_form_elements' );

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

return $form;
}

Eso le permite colocar códigos cortos directamente en CF7. El segundo es agregar el acordeón manualmente con HTML en el formulario de contacto, de esta manera:

<!-- begin class .wp-accordion -->
<div class="wp-accordion wpui-light">

    <!-- First tab's panel -->
    <h3 class="wp-tab-title">Tab 1</h3>
    <!-- First tab's contents -->
    <div class="wp-tab-content">
          All the contents of first tab goes here....
    </div><!-- end first tab -->

      <!-- Like so, Second panel -->
      <h3 class="wp-tab-title">Tab 2</h3>
      <div class="wp-tab-content">
            Contents of the second tab
       </div>

</div><!-- end class wp-accordion -->

Creo que el segundo método es preferible, ya que no hay modificación de los archivos del complemento principal. ¡Espero que esto ayude!

SickHippie
fuente
44
En realidad, puede agregar el código de filtro en las funciones de su tema. Php y shortcodes funcionarán correctamente dentro de un formulario CF7. Sin embargo, no puedo confirmar si el específico (para el acordeón) funcionará o no: solo lo probé con un código corto que no contiene ningún código corto CF7, pero básicamente todo depende de cómo se maneje el código corto en cuestión .
Nikola Ivanov Nikolov
10
de hecho, un simple add_filter( 'wpcf7_form_elements', 'do_shortcode' );hace el truco de las funciones de mi tema hijo.php.
Evan Mattson
1
Si desea utilizar el mismo contenido en más de una ubicación en su sitio, es mejor crear un código corto (localizable si es necesario), que cortar y pegar el mismo HTML en todo el lugar.
Craig