web-dev-qa-db-fra.com

Affichage du message WP_Error avec le hook d'action admin_notice

Je viens d'obtenir une réponse à l'un des ma question mais le problème est que je veux imprimer une erreur lorsque chaque utilisateur insère des balises de plus de deux mots via post-new.php avec le crochet admin_notice action.

Comment ceci peut être fait?

5
mha

Vous pouvez utiliser la fonction add_settings_error.

Plus de détails peuvent être trouvés dans Wordpress documentation . J'ai modifié votre réponse précédente pour inclure cela:

function wpse_189722_limit_tag_words( $term, $taxonomy ) {
    if ($taxonomy === 'post_tag') {
        if ( count( preg_split( '/\s+/', trim( $term ) ) ) > 2 ) {
            add_settings_error('term_too_many_words', 'term_too_many_words', 'Maximum of 2 words allowed, but entered: '. trim($term), 'error');
            // shorten the term to the allowed number of tags
            $normalized_term = $foo = implode(' ', array_slice(preg_split('/\s+/', trim($term)), 0, 2));
            return $normalized_term;
        }
    }

    return $term;
}

add_filter( 'pre_insert_term', 'wpse_189722_limit_tag_words', 10, 2 );

Vous pouvez également consulter un guide de Nice sur les notifications Wordpress ici .

1
Picard