¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Cómo bloquear URL dentro de los campos del formulario

Introducción

¿Le gustaría bloquear las URL dentro de los campos del formulario, como los campos de texto de Línea de texto única y Texto de párrafo? La mayoría del spam llega ahora con bots que intentan agregar enlaces a su formulario y, utilizando un pequeño script PHP, puede agregar otra capa de protección a su formulario rechazando cualquier envío de formulario que intente pasar con una URL listada dentro de sus campos de formulario de Línea de texto única o Texto de párrafo. En este tutorial, le guiaremos paso a paso sobre cómo evitar que las URL se coloquen dentro de estos campos.

Creación de su formulario

Para nuestro ejemplo, vamos a crear un formulario de contacto simple para los campos Nombre, Correo electrónico, ¿Cómo se enteró de nosotros (Línea de texto única) y Comentario (Texto de párrafo).

Si necesita ayuda para crear su formulario, consulte esta documentación.

empieza por crear tu formulario y añadir tus campos

Añadir el fragmento de código para bloquear URL

Ahora es el momento de añadir el fragmento que bloqueará las URL dentro del formulario.

Si necesitas ayuda para añadir fragmentos a tu sitio, consulta este tutorial.

/*
 * Block URLs from inside form on Single Line Text and Paragraph Text form fields
 *
 * @link https://wpforms.com/developers/how-to-block-urls-inside-the-form-fields/
*/
 
function wpf_dev_check_for_urls( $field_id, $field_submit, $form_data ) {

	if( strpos($field_submit, 'http') !== false || strpos($field_submit, 'www.') !== false ) {
		wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No URLs allowed.', 'wpforms' );
		return;
	} 
	
}
  
add_action( 'wpforms_process_validate_textarea', 'wpf_dev_check_for_urls', 10, 3 );
add_action( 'wpforms_process_validate_text', 'wpf_dev_check_for_urls', 10, 3 );

Este fragmento se aplica automáticamente a todos los formularios y evitará que cualquier campo de texto normal o campo de área de texto (como Texto de párrafo) permita la introducción de URL dentro del campo.

bloquear URL dentro del formulario con este script PHP

¡Y eso es todo! ¿Le gustaría también bloquear groserías en estos campos? Eche un vistazo a nuestro artículo sobre Cómo bloquear envíos de formularios que contienen groserías.

Referencias de acción: