在Wordpress中创建新标记时显示错误

I need to display an error when a user tries to create a new tag via a new WordPress Post.

Ex: A user with the classification of 'editor' goes to create a new post in WordPress and adds a tag that does not exist in the taxonomy I would like to disaplay an admin error at the top of the page upon hitting Publish or Update.

This is my code that shows the error

function my_error_notice() {
if ( !current_user_can( 'editor' ) )  {
    ?>
    <div class="error notice">
        <p><?php _e( 'Sorry only the Administrators are allowed to create new tags, please select from the prepopulated suggestions or contact an Administrator for more assistence.', 'my_plugin_textdomain' ); ?></p>
    </div>
    <?php
}

add_action( 'admin_notices', 'my_error_notice' );

this is the code that detects the new tag

add_action('create_term','undo_create_term',10, 3);

function undo_create_term ($term_id, $tt_id, $taxonomy) {
    if ( !current_user_can( 'editor' ) )  {
        if($taxonomy == 'post_tag') {
            wp_delete_term($term_id,$taxonomy);
        }
    }
}

You'll have to set a transient variable or similar strategy, because WP does a redirect after saving the post.

Here is the basic idea. It's up to you to fine-tune it to work in your application:

function my_error_notice() {
    $show_notice = get_transient('show_post_tag_notice');
    if ( ! $show_notice ) {
        return;
    }

    delete_transient('show_post_tag_notice');

    if ( !current_user_can( 'editor' ) )  { ?>
    <div class="error notice">
        <p><?php _e( 'Sorry only the Administrators are allowed to create new tags, please select from the prepopulated suggestions or contact an Administrator for more assistence.', 'my_plugin_textdomain' ); ?></p>
    </div>
    <?php
    }
}

add_action( 'admin_notices', 'my_error_notice' ); 

add_action('create_term','undo_create_term',10, 3);

function undo_create_term ($term_id, $tt_id, $taxonomy) {
    if ( !current_user_can( 'editor' ) )  {
        if($taxonomy == 'post_tag') {
            wp_delete_term($term_id,$taxonomy);
            set_transient('show_post_tag_notice', true);
        }
    }
}