web-dev-qa-db-ja.com

Admin_noticeアクションフック付きのWP_Errorメッセージを表示

私は 私の質問 のうちの1つに答えを得たところですが、問題はすべてのユーザーが3つ以上の単語のタグを挿入するときエラーを表示したいということです。 post-new.php アクションフック付きのadmin_noticeを介して。

どうすればそれができますか?

5
mha

関数add_settings_errorを使うことができます。

詳細はWordpress のドキュメント にあります。それを含めるためにあなたの前の答えを編集しました:

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 );

Wordpressの通知 についての良いガイドもここ で確認できます。

1
Picard