ワードプレスのダッシュボードの表示内容を削除する
ユーザーが登録可能なサイトで、ワードプレスのダッシュボードに表示される項目を見せたくない場合があるかと存じます。
この場合、下記のようにテーマのFunctions.phpや、制作されているプラグイン等に記載されることでダッシュボード項目を個別に隠すことができます。
※WordPressイベントとニュース表示を購読者の場合消すコードの例です
function remove_dashboard_content() {
    global $wp_meta_boxes;
    if ( current_user_can('subscriber') ) {
        unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    }
}
add_action('wp_dashboard_setup', 'remove_dashboard_content' );
その他にもif ( current_user_can(‘subscriber’) ) {の後の行に下記のように記載することで様々なダッシュボードの項目(ウィジェット)を隠すことができます。
// 現在の状況(概要)表示を消す
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_right_now’]); 
// 最近のコメント表示を消す
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_recent_comments’]); 
// プラグイン表示を消す
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_plugins’]); 
// クイック投稿欄を消す
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_quick_press’]); 
// 最近の下書き表示を消す
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_recent_drafts’]); 
//アクティビティーを消す
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_activity’]); 
//WordPress へようこそ ! パネルを消す
remove_action(‘welcome_panel’, ‘wp_welcome_panel’);
ダッシュボード自体へのアクセスをできなくするには?
購読者の場合ダッシュボードへの管理画面メニューを消します。
function remove_menus(){  
     if ( current_user_can('subscriber') ) {
         remove_menu_page( 'index.php' );
     }
}  
add_action( 'admin_menu', 'remove_menus' ); 
また、下記のコードでユーザーがダッシュボードにアクセスしたときに強制的にプロフィールページにリダイレクトします。
function dashboard_redirect(){
   if ( current_user_can('subscriber') ) {
      wp_redirect(admin_url('profile.php'));
   }
}
add_action('load-index.php','dashboard_redirect');


        


