Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Description

L'action wpforms_process_validate_richtext déclenche la validation du champ de formulaire Rich Text lors de la soumission du formulaire.

Paramètres

$field_id
(int) ID du champ.
$field_submit
(array) Valeur brute/non assainie d'origine soumise pour le champ.
$form_data
(array) Paramètres/données du formulaire traités, préparés pour une utilisation ultérieure.

Source

wpforms/includes/fields/class-base.php

Plus d'informations

L'action est appliquée à un tableau pour le champ de formulaire Rich Text. Cette fonction peut être utilisée pour tous les champs de formulaire do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).

Par exemple, pour l'utiliser pour un champ Email, vous utiliseriez do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data ).

Il est important de noter que les valeurs des champs ne sont pas assainies avant plus tard dans le processus, à wpforms_process_validate_{$field_type}.le

Exemples

Vous pouvez utiliser cette action pour rechercher dans le Rich Text une liste de mots que vous souhaitez bloquer lors de l'envoi du formulaire, tels que des grossièretés, ou vous pourriez utiliser cette action pour rechercher certains mots qui déclencheraient une autre action, comme la définition d'une valeur dans un champ caché de votre formulaire que vous pouvez filtrer à partir des entrées.

Dans cet exemple, nous allons rechercher toute grossièreté dans ce champ. S'il y a des grossièretés, le formulaire affichera une erreur et ne sera pas envoyé.

/*
 * Check the paragraph text field for profanity.
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_richtext/
 *
 * @param int     $field_id        Field ID.
 * @param array   $field_submit    Unsanitized field value submitted for the field.
 * @param array   $form_data       Form data and settings.
*/

    // Optional, you can limit to specific forms. Below, we restrict output to form #3382.
    if ( absint( $form_data[ 'id' ] ) !== 3382 ) {
        return $field_id;
    }

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.', 'wpforms' );
            return;
        }
    }
 
}
 
add_action( 'wpforms_process_validate_richtext', 'wpf_dev_profanity_filter_rich_text', 10, 3 );

Articles de référence