¿Quieres bloquear los formularios que contengan palabras malsonantes? Puede crear fácilmente una lista de palabras malsonantes que detendrán cualquier envío de formularios si se encuentran dentro de su texto de párrafo o en un campo de texto de una sola línea utilizando un pequeño fragmento de código. En este tutorial, le guiaremos a través de los pasos para lograr esto con PHP.
Creación del formulario
En primer lugar, tendrá que crear un nuevo formulario y añadir un texto de párrafo o un texto de línea única.
Si necesita ayuda para crear un formulario, consulte esta documentación.
Bloqueo de envíos que contengan blasfemias
A continuación, elabore una lista de palabras que desee añadir a su filtro de blasfemias. Una vez que haya identificado las palabras que desea bloquear, tendrá que añadir uno de estos fragmentos a su sitio. Si necesitas ayuda para añadir fragmentos a tu sitio, consulta esta documentación.
Sólo tienes que añadir cada palabra a tu $blocked_words separadas 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 una línea
/** * 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 ya está. Ya ha creado e implementado un filtro de blasfemias para sus campos de formulario de línea única y texto de párrafo. ¿Le gustaría bloquear URLs para que no puedan ser introducidas en su formulario? Eche un vistazo a nuestro tutorial sobre Cómo bloquear URLs dentro de los campos de formulario.