Resumen de IA
¿Te gustaría bloquear las envíos de tu formulario que contengan lenguaje obsceno? Puedes crear fácilmente una lista de palabras malsonantes que detendrán cualquier envío de formulario si se encuentran dentro de tu campo Texto de Párrafo o en un campo Texto de Línea Única utilizando un pequeño fragmento de código. En este tutorial, te guiaremos a través de los pasos sobre cómo lograr esto con PHP.
Creación de su formulario
Primero, necesitarás crear un nuevo formulario y añadir un campo de Texto de Párrafo o un campo de Texto de Línea Única.
Si necesitas ayuda para crear un formulario, por favor consulta esta documentación.

Bloquear envíos que contengan lenguaje obsceno
A continuación, crea una lista de palabras que quieras añadir a tu filtro de lenguaje obsceno. Una vez que hayas identificado las palabras que quieres bloquear, necesitarás añadir uno de estos fragmentos a tu sitio. Si necesitas ayuda para añadir fragmentos a tu sitio, por favor consulta esta documentación.
Simplemente añadirás cada palabra a tu $blocked_words separada por una coma.
Campo de formulario de Texto de Párrafo
/**
* Prevent profanity words from Paragraph Text form fields.
*
* @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
*/
function wpf_dev_profanity_filter_paragraph( $field_id, $field_submit, $form_data ) {
// Create your list of profanity words separated by commas
$blocked_words = array(
'badword1',
'badword2'
);
foreach( $blocked_words as $word ) {
if(strpos($field_submit, $word) !== FALSE ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' );
return;
}
}
}
add_action( 'wpforms_process_validate_textarea', 'wpf_dev_profanity_filter_paragraph', 10, 3 );

Campo de formulario de Texto de Línea Única
/**
* Prevent profanity words from Single Line Text form fields.
*
* @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
*/
function wpf_dev_profanity_filter_single_text( $field_id, $field_submit, $form_data ) {
// Create your list of profanity words separated by commas
$blocked_words = array(
'badword1',
'badword2'
);
foreach( $blocked_words as $word ) {
if(strpos($field_submit, $word) !== FALSE ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' );
return;
}
}
}
add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );
Campo de formulario de Texto Enriquecido
/**
* Prevent profanity words from Rich Text form fields.
*
* @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
*/
function wpf_dev_profanity_filter_rich_text( $field_id, $field_submit, $form_data ) {
// Create your list of profanity words separated by commas
$blocked_words = array(
'badword1',
'badword2'
);
foreach( $blocked_words as $word ) {
if(strpos($field_submit, $word) !== FALSE ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' );
return;
}
}
}
add_action( 'wpforms_process_validate_richtext', 'wpf_dev_profanity_filter_rich_text', 10, 3 );
¡Y eso es todo! Ahora has creado e implementado un filtro de lenguaje obsceno para tus campos de formulario de Línea Única y Texto de Párrafo. ¿Te gustaría bloquear que se introduzcan URLs en tu formulario? Echa un vistazo a nuestro tutorial sobre Cómo Bloquear URLs Dentro de los Campos del Formulario.