Como añadir códigos de Shortcodes Ultimate en Contact Form 7

Hace unos días un cliente me comentó que necesitaba algo más en en formulario de contacto. Quería usar “acordeones”, “pestañas” etc para que el formulario tuviera más funcionalidades.

Mirando cómo hacerlo descubrimos que podemos usar las códigos de Shortcodes Ultimate en Contact Form7, dos de los plugins más usados para cada una de esas funciones.

Hay dos maneras de poner los códigos:

  1. La más recomendada. Podemos modificar el fichero functions.php de nuestra plantilla para poner este código:
    add_filter( 'wpcf7_form_elements', 'mycustom_wpcf7_form_elements' );
    
    function mycustom_wpcf7_form_elements( $form ) {
    $form = do_shortcode( $form );
    
    return $form;
    }

    Obviamente el gran problema de esto es que cada actualización de la plantilla hará que perdamos los cambios. Pero esto se puede arreglar haciendo una plantilla hija (de lo cual hablaremos mañana).
    Con este método podemos usar los códigos de Shortcodes Ultimate sin problemas en el formulario igual que en el resto de la web.

  2. La más laboriosa. Podemos usar (no lo hemos probado) los códigos html en el formulario. Podéis ver el ejemplo aquí (respuesta 14).
    Esta manera es muy laboriosa porque requiere poner etiquetas de div y css casi en cada línea. Pero no se cambiará al actualizar la plantilla. Eso si, vuelve el formulario un texto enorme lleno de código.

Buen truco si queréis llevar los formularios al siguiente nivel.