Souhaitez-vous bloquer les soumissions de formulaires contenant des propos blasphématoires ? Vous pouvez facilement créer une liste de mots grossiers qui bloqueront toute soumission de formulaire s'ils se trouvent dans le texte d'un paragraphe ou dans un champ de texte d'une seule ligne, en utilisant un petit extrait de code. Dans ce tutoriel, nous allons vous expliquer comment réaliser cela avec PHP.
Création du formulaire
Tout d'abord, vous devez créer un nouveau formulaire et ajouter un texte de paragraphe ou un texte d'une seule ligne.
Si vous avez besoin d'aide pour créer un formulaire, veuillez consulter cette documentation.
Blocage des soumissions contenant des blasphèmes
Ensuite, dressez une liste des mots que vous souhaitez ajouter à votre filtre de grossièretés. Une fois que vous avez identifié les mots que vous souhaitez bloquer, vous devez ajouter l'un de ces extraits à votre site. Si vous avez besoin d'aide pour ajouter des extraits à votre site, veuillez consulter cette documentation.
Il vous suffit d'ajouter chaque mot à votre $blocked_words en les séparant par une virgule.
Paragraphe Champ de texte du formulaire
/** * 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 );
Champ de texte à ligne unique
/** * 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 );
Champ de texte enrichi
/** * 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 );
Et c'est tout ! Vous avez maintenant créé et mis en œuvre un filtre contre les blasphèmes pour vos champs de formulaire Texte à une ligne et Texte à un paragraphe. Souhaitez-vous bloquer la saisie d'URL dans votre formulaire ? Consultez notre tutoriel sur la façon de bloquer les URL dans les champs de formulaire.