「削除」タグアーカイブ

ダッシュボード画面(管理画面)の「アクティビティ」「クイックドラフト」などを非表示 WordPress BuddyPressカスタマイズメモ

管理画面で不要なパーツ(メタボックス)(クイックドラフト、News and Updates、WordPress イベントとニュース、ようこそ)を全部非表示にする方法

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになるので、

管理者以外には、Wordpressのニュース、WordPress イベント、ようこそ画面など(ダッシュボードのメタボックスと呼ぶ)は全部非表示にしておく。


   ↓↓↓

 

functions.php へ記述

//ダッシュボードの表示、非表示

if (!current_user_can('administrator')) {
function remove_dashboard_widgets() {
  global $wp_meta_boxes;
  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_incoming_links']);//被リンク
  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_primary']);//WordPressブログ
 unset($wp_meta_boxes['dashboard']['normal']['core']['jetpack_summary_widget']);//jetpack
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);//フォーラム
  //unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);//アクティビティ
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

remove_action( 'welcome_panel', 'wp_welcome_panel' ); //ようこそ
}

初ログインした時に出てくる「ようこそ」だけは、単独でremove_actionで非表示にできる。

その他のメタボックスは1個ずつunsetしていくこと。

“管理者”でも非表示にする場合は、一番上と一番下の

if (!current_user_can('administrator')) {

}

を削除すればいい。

プラグインなどで勝手に追加されるメニューのIDを調べる方法

functions.phpへ

function check_post_label_id() {
    global $wp_meta_boxes;

    var_dump($wp_meta_boxes);
}
add_action( 'admin_menu', 'check_post_label_id' );

これを書いて、ページ(ソース)を見ると

array(数字) {[0]->string(数字)"メニューの単語"[1]=>string(数字)"スラッグ"......}

って感じの文字の羅列が見えるので、

“メニューの単語” の前にある array(数字)数字が”メニューの単語”のIDになっている。

関連:WordPressの管理画面、ダッシュボードでオリジナルパーツ(独自メタボックス)を追加する方法

WordPressメニューの変更、非表示、IDの調べ方「投稿」→「記事」、「コメント」→「あなたの記事へのコメント」へ、メニューの文言変更 WordPress BuddyPressカスタマイズメモ

WordPressのメニューの文言を変更する方法

WordPressのSNSプラグイン、BuddyPressを導入してSNSを構築する場合、「コメント」だけだと自分が書いたコメントなのか、人が自分に対して書いたコメントなのかが分からないのでメニューを変更したい。

今回は、「投稿」→「記事」へ変更。
「コメント」→「あなたの記事へのコメント」に変更する。

 

functions.php へ記述

管理画面のメニューの文言を変更。
ちなみに順番を入れ替えたり、サブメニューの文言を変更したりもできる。

//投稿→記事、コメント→あなたの記事へのコメント

function change_post_label() {
global $menu;
global $submenu;
$menu[5][0] = '記事';
$menu[25][0] = 'あなたの記事へのコメント';
}
add_action( 'admin_menu', 'change_post_label' );
global $sabmenu;

サブメニューを変更しないのであれば、この1行は別になくてもいい。
 

メニューID一覧とサブメニューのID一覧を紹介

メニューとサブメニューのID(key/キー)一覧

$menu[2] // ダッシュボード
  $submenu['index.php'][0] //ホーム
  $submenu['index.php'][10] //更新
$menu[4] // セパレーター(区切り線)
$menu[5]  // 投稿
  $submenu['edit.php'][5] //投稿一覧
  $submenu['edit.php'][10] //新規投稿
  $submenu['edit.php'][15] //カテゴリー
  $submenu['edit.php'][16] //タグ
$menu[10] // メディア
  $submenu['upload.php'][5] //タグ
  $submenu['upload.php'][10] //新規追加
$menu[15] // リンク
  $submenu['link-manager.php'][5] //リンク一覧
  $submenu['link-manager.php'][10] //新規追加
  $submenu['link-manager.php'][15] //リンクカテゴリー
$menu[20] // 固定ページ
  $submenu['edit.php?post_type=page'][5] //固定ページ一覧
  $submenu['edit.php?post_type=page'][10] //新規追加
$menu[25] // コメント
  $submenu['edit-comments.php'][0] //すべてのコメント
$menu[26] // お問い合わせ
$menu[59] // セパレーター(区切り線)
$menu[60] // 外観
  $submenu['themes.php'][5] //テーマ
  $submenu['themes.php'][7] //ウィジェット
  $submenu['themes.php'][10] //メニュー
$menu[65] // プラグイン
  $submenu['plugins.php'][5] //インストール済みプラグイン
  $submenu['plugins.php'][10] //新規追加
  $submenu['plugins.php'][15] //プラグインエディター
$menu[70] // プロフィール
  $submenu['users.php'][5] //ユーザー一覧
  $submenu['users.php'][10] //新規追加
  $submenu['users.php'][15] //あなたのプロフィール
$menu[75] // ツール
  $submenu['tools.php'][5] //利用可能なツール
  $submenu['tools.php'][10] //インポート
  $submenu['tools.php'][15] //エクスポート
$menu[80] // 設定
  $submenu['options-general.php'][10] //一般
  $submenu['options-general.php'][15] //投稿設定
  $submenu['options-general.php'][20] //表示設定
  $submenu['options-general.php'][25] //ディスカッション
  $submenu['options-general.php'][30] //メディア
  $submenu['options-general.php'][35] //プライバシー
  $submenu['options-general.php'][40] //パーマリンク設定
$menu[99] // セパレーター(区切り線)

 

プラグインなどで勝手に追加されるメニューのIDを調べる方法

functions.phpへ

function check_post_label_id() {
    global $menu;
    global $submenu;

    var_dump($menu);
    var_dump($submenu);
}
add_action( 'admin_menu', 'check_post_label_id' );

これを書いて、ページ(ソース)を見ると

array(数字) {[0]->string(数字)"メニューの単語"[1]=>string(数字)"スラッグ"......}

って感じの文字の羅列が見えるので、

“メニューの単語” の前にある array(数字)数字が”メニューの単語”のIDになっている。

管理画面のアドミンバー内の「更新」「ヘルプ」「表示オプション」「Wロゴ」などのメニューを非表示 WordPress BuddyPressカスタマイズメモ

管理者以外は、プラグイン、ユーザーなどのサブメニューを非表示にする

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

できるだけシンプルにしたいので、管理画面の上の「更新」「ヘルプ」「表示オプション」「Wのロゴ」などを非表示にする。

remove_menuでPHPの読み込みをさせないようにできる場合は、そちらを優先。

remove_menuが使えない「ヘルプ」や「表示オプション」は、仕方ないのでCSSで非表示にしておく。

 

functions.php へ記述で、PHPを読み込ませない

//管理者以外の管理画面のアドミンバー内のメニュー非表示

if ( ! current_user_can( 'administrator' ) ) {
 function my_remove_adminmenu( $wp_admin_bar ) {
  $wp_admin_bar->remove_node('wp-logo');        //左上の「W」のロゴ
  //$wp_admin_bar->remove_menu( 'site-name' );  // サイト名
  $wp_admin_bar->remove_menu( 'view-site' );    // サイト名 -> サイトを表示
  $wp_admin_bar->remove_menu( 'dashboard' );    // サイト名 -> ダッシュボード (公開側)
  $wp_admin_bar->remove_menu( 'themes' );       // サイト名 -> テーマ (公開側)
  $wp_admin_bar->remove_menu( 'customize' );    // サイト名 -> カスタマイズ (公開側)
  //$wp_admin_bar->remove_menu( 'comments' );   // コメント
  $wp_admin_bar->remove_menu( 'updates' );      // 更新
  $wp_admin_bar->remove_menu( 'view' );         // 投稿を表示
  $wp_admin_bar->remove_menu( 'new-content' );  // 新規
  $wp_admin_bar->remove_menu( 'new-post' );     // 新規 -> 投稿
  $wp_admin_bar->remove_menu( 'new-media' );    // 新規 -> メディア
  $wp_admin_bar->remove_menu( 'new-link' );     // 新規 -> リンク
  $wp_admin_bar->remove_menu( 'new-page' );     // 新規 -> 固定ページ
  $wp_admin_bar->remove_menu( 'new-user' );     // 新規 -> ユーザー
  $wp_admin_bar->remove_menu( 'my-account' );   // マイアカウント
  $wp_admin_bar->remove_menu( 'user-info' );    // マイアカウント -> プロフィール
  $wp_admin_bar->remove_menu( 'edit-profile' ); // マイアカウント -> プロフィール編集
  $wp_admin_bar->remove_menu( 'logout' );       // マイアカウント -> ログアウト
  $wp_admin_bar->remove_menu( 'search' );       // 検索 (公開側)
  $wp_admin_bar->remove_menu( 'bp-notifications' ); // BuddyPressの通知
}
add_action( 'admin_bar_menu', 'my_remove_adminmenu', 1000 );
}

頭に「//」がついている場合は、コメントアウトされて非表示にならないので、上のコードで、例えば「コメント」も非表示にしたい場合は、
頭の

//$wp_admin_bar->remove_menu( 'comments' );

の//を消しておく。
 

functions.php へ記述でCSSで非表示にする。

//cssで、ヘルプや表示オプション、管理画面のフッターなどの不要なモノを見えなくする

if (!current_user_can('administrator')) {
function my_admin_print_styles(){
	echo '<style type="text/css">';
		//投稿のエディタボタン関連
		echo '#contextual-help-link-wrap,';//ヘルプ
		echo '#screen-options-link-wrap,';//表示オプション
		echo '#collapse-menu,';//管理画面のメニューを閉じるボタン
		echo '#wpfooter';//フッター
		echo '{display:none !important;}';
	echo '</style>';
}
add_action('admin_print_styles', 'my_admin_print_styles', 21);
}

“管理者”でもメニューを削除したい場合は、一番上と一番下の

if (!current_user_can('administrator')) {

}

を削除すればいい。

プラグインなどで勝手に追加されるメニューのIDを調べる方法

functions.phpへ

function check_post_label_id() {
    global $wp_admin_bar;
    var_dump($wp_admin_bar);
}
add_action( 'admin_menu', 'check_post_label_id' );

これを書いて、ページ(ソース)を見ると

array(数字) {[0]->string(数字)"メニューの単語"[1]=>string(数字)"スラッグ"......}

って感じの文字の羅列が見えるので、

“メニューの単語” の前にある array(数字)数字が”メニューの単語”のIDになっている。