2017-12-27 12 views
1

新しいワードプレス投稿を使用して新しいタグを作成しようとすると、エラーを表示する必要があります。新しいタグがWordpressで作成されたときにエラーを表示します

例: 'editor'の分類を持つユーザーがWordPressで新しい投稿を作成し、タクソノミに存在しないタグを追加します。ヒット時にページの上部に管理者エラーを表示したくない公開または更新。

これはエラー

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

が、これはあなたがWPので、過渡的変数または同様の戦略を設定する必要があります新しいタグ

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); 
     } 
    } 
} 
+0

はい!現在のエラーは常に表示されるので、ユーザーが投稿に新しいタグを追加しようとすると表示する必要があります。 –

+0

私はコードの部分を含むように上記を編集しました –

答えて

0

を検出したコードであることを示している私のコードです投稿を保存した後にリダイレクトを行います。

ここに基本的な考えがあります。アプリケーション内で動作するように微調整するのはあなた次第です。

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); 
     } 
    } 
} 
+0

これは私が必要とするものに対してうまく動作します。あなたの忍耐とあなたの助けに感謝します! –

関連する問題