web-dev-qa-db-fra.com

Afficher tout WP Erreurs ensemble lors de la validation du formulaire

J'ai une page d'accueil personnalisée sur laquelle les utilisateurs peuvent publier. Tout fonctionne bien mais je veux que si plusieurs champs sont vides, les erreurs de tous les champs vides doivent alors apparaître toutes ensemble. À l'heure actuelle, le code ne montre qu'une erreur pour le premier champ vide détecté. Le code est:

    $errors = new WP_Error();

    if (isEmptyString($title_stripped))
    $errors->add('empty_title', __('Please enter a title'));

    if (isEmptyString($description_stripped))
    $errors->add('empty_desc', __('Enter a breif description'));

    if (isEmptyString($content_stripped))
    $errors->add('empty_content', __('Please enter your article here'));

    return $errors;

Edit: résolu

Désolé de déranger . C’était une de mes autres fonctions qui limitait l’erreur à écho une seule fois. Voici le code précédent:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo '<div class="error"><p>' . $message->get_error_message() . '</p></div>';  
    }

Cela a bien fonctionné quand je l'ai changé aussi:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo '<div class="error"><p>';
        foreach ( $message->get_error_messages($code) as $error ) {
        echo $error . "<br />\n";  
        }
        echo '</p></div>';  
    }
1
Harjeet Singh

Désolé de déranger . C’était une de mes autres fonctions qui limitait l’erreur à écho une seule fois. Voici le code précédent:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo '<div class="error"><p>' . $message->get_error_message() . '</p></div>';   
    }

Cela a bien fonctionné quand je l'ai changé aussi:

function display_message( $message = false ) {
    if( is_wp_error( $message ) ) {
        echo '<div class="error"><p>';
        foreach ( $message->get_error_messages($code) as $error ) {
        echo $error . "<br />\n";   
        }
        echo '</p></div>';  
    }
0
Harjeet Singh