varios validar test template sending seleccion respuesta requerido plantillas para obligatorios not multiple imagenes headers formularios form example envia ejemplos editar correos correo codigos campos campo automatica additional wordpress contact-form-7

wordpress - validar - Formulario de contacto 7 etiquetas p añadidas automáticamente



validar campos contact form 7 (6)

Tengo el siguiente código dentro del editor de formularios de contacto 7

<div class="row"> <div class="col-sm-8 col-sm-offset-2"> <div class="row"> <div class="col-sm-4"> [text* name class:border-field placeholder "Name"] </div><!-- End of col --> <div class="col-sm-4"> [email* email class:border-field placeholder "Email"] </div><!-- End of col --> <div class="col-sm-4"> [text subject class:border-field placeholder "Subject"] </div><!-- End of col --> </div><!-- ENd of row --> </div><!-- End of col --> </div><!-- ENd of row --> <div class="row"> <div class="col-sm-8 col-sm-offset-2"> [textarea message class:border-field placeholder "Message"] </div> </div><!-- End of row --> <div class="row text-center"> <div clas s="col-sm-12"> [submit class:btn class:btn-black-fill class:btn-small "Submit"] </div><!-- End of col --> </div><!-- End of row -->

El problema es que agrega etiquetas p aleatorias casi después de cada elemento y también que el primer campo de texto está, por alguna razón, un poco por encima de los otros dos campos cuando todos deben estar en línea. Y creo que esto no es un problema de css porque anteriormente tenía este código en HTML plano y todos los campos estaban en línea, así que creo que debe ser algo con el formulario de contacto 7.


Agregue esto en su archivo functions.php

function reformat_auto_p_tags($content) { $new_content = ''''; $pattern_full = ''{(/[raw/].*?/[/raw/])}is''; $pattern_contents = ''{/[raw/](.*?)/[/raw/]}is''; $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE); foreach ($pieces as $piece) { if (preg_match($pattern_contents, $piece, $matches)) { $new_content .= $matches[1]; } else { $new_content .= wptexturize(wpautop($piece)); } } return $new_content; } remove_filter(''the_content'', ''wpautop''); remove_filter(''the_content'', ''wptexturize''); add_filter(''the_content'', ''reformat_auto_p_tags'', 99); add_filter(''widget_text'', ''reformat_auto_p_tags'', 99);

Luego, en su editor de correos, envuelva su shortcode del formulario de contacto 7 con raw shortcode raw

p.ej

[raw][contact-form-7 id="1" title="Contact Us"][/raw]


De acuerdo con el Formulario de contacto 7 documentos , puede desactivar "wpautop" para el complemento colocando la siguiente constante en wp-config.php :

define( ''WPCF7_AUTOP'', false );


Después de la respuesta de rnevius, ponga esto en /wp-content/plugins/contact-form-7/wp-contact-form-7.php

if ( ! defined( ''WPCF7_AUTOP'' ) ) { define( ''WPCF7_AUTOP'', false ); }

Normalmente, ya está allí con un valor verdadero , en ese caso, simplemente reemplace falso por verdadero y estará listo.


Intenté muchas respuestas pero nada funcionó, así que ...
Terminé usando CSS simple para apuntar específicamente a las etiquetas P vacías
en la forma misma como esta:

.wpcf7-form p:empty { display: none; }

Esto funcionó para mí y, es una solución simple.


Me gustaría decir algo sobre esto, cuando queremos reducir la forma de la etiqueta Auto P, deberíamos ir con el siguiente filtro y simplemente escribir el código de golpe en function.php.

add_filter(''wpcf7_autop_or_not'', ''__return_false'');


Si la edición de wp-config.php no es la solución para usted, hay un filtro útil. Ponlo en tus functions.php .

add_filter(''wpcf7_autop_or_not'', ''__return_false'');