Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous offrons ce code par courtoisie, mais nous ne fournissons pas de support pour les personnalisations de code ou le développement de tierces parties.

Pour plus d'informations, consultez le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Rejeter

Description

Le wpforms_process_validate_richtext déclenche la validation de l'élément Texte enrichi lorsque le formulaire est soumis.

ParamĂštres

$field_id
(int) ID du champ.
$field_submit
(array) Valeur originale brute/non nettoyée soumise pour le champ.
$form_data
(tableau) ParamĂštres/donnĂ©es de formulaire traitĂ©s, prĂ©parĂ©s pour ĂȘtre utilisĂ©s ultĂ©rieurement.

Source

wpforms/includes/fields/class-base.php

Plus d'informations

L'action est appliquĂ©e Ă  un tableau pour Texte enrichi champ de formulaire. 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 dans le cadre d'un Courriel vous utiliserez do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data ).

Il est important de noter que les valeurs des champs ne sont assainies qu'à un stade ultérieur du traitement, à l'étape wpforms_process_format_{$field_type}.le

Exemples

Vous pouvez utiliser cette action pour rechercher dans le texte enrichi une liste de mots dont vous souhaiteriez empĂȘcher l'envoi par le formulaire, comme les grossiĂšretĂ©s, ou 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 les grossiÚretés dans ce champ. Si c'est le cas, 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