「メタボックス」タグアーカイブ

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

管理画面のダッシュボードで、独自のパーツ(メタボックス)を作って追加表示させる

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

管理者以外には、Wordpressのニュース、WordPress イベント、ようこそ画面など(ダッシュボードのメタボックスと呼ぶ)不要なものは全て非表示にしたうえで、独自のメタボックスを追加する方法を紹介。

ちなみに非表示にする方法はこちらを参照:
ダッシュボード画面(管理画面)の「アクティビティ」「クイックドラフト」などを非表示 WordPress BuddyPressカスタマイズメモ
 

独自メタボックス追加したい場合

普通の管理画面は色々と便利なウィンドウがあるが、記事を投稿してもらう人には不要なものばかり。

なので、不要なものを非表示にした上で

オリジナルの「クイックアクセス」というメタボックスを追加してみよう。

 

追加方法と記述のしかた

記述は簡単で、functions.php に下記のように書くだけ。

function my_meta_box(){
 add_meta_box( 'my_meta_box', 'クイックアクセス', 'my_meta_box_in', 'dashboard', 'normal', 'core' );
}
function my_meta_box_in(){
 echo '<a href="https://xxxxxxxx.com/">ホームページを確認</a><br />';
 echo '<a href="https://xxxxxxxx.com/wp-admin/post-new.php">新しく記事を書く</a><br />';
 echo '<a href="https://xxxxxxxx.com/wp-admin/profile.php">個人設定やプロフィールを編集</a><br />';
}
add_action( 'admin_menu', 'my_meta_box' );

‘クイックアクセス’の部分はタイトルなので、好きなタイトルでOK。

今回はリンクを貼り付けただけだが、phpで様々な機能を持たせることができる。

投稿画面で、メタディスクリプション、トラックバック、リビジョン、フォーマットなどの不要なオプションを非表示 WordPress BuddyPressカスタマイズメモ

投稿画面で、メタディスクリプション、トラックバック、リビジョン、フォーマットなどの不要なオプションを非表示

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

WordPressに慣れていない人が使うことも想定できるので、ややこしいSEOモノや、使わないトラックバックなどのメタボックスは全て非表示にしておきたい。


 ↓↓↓

 

ついでに、上の「表示オプション」のチェックボックスもいらないので消えてほしい。


 ↓↓↓

 

functions.php へ記述

//投稿画面の削除

if (!current_user_can('administrator')) {
function yuya_remove_admin_menu() {
//sango投稿ページ
remove_meta_box( 'sng-meta-description', 'post', 'normal' );//メタデスクリプション
remove_meta_box( 'sng-title-tag', 'post', 'normal' );//【高度な設定】titleタグ
remove_meta_box( 'sng-meta-roboto', 'post', 'side' );//メタロボット設定
remove_meta_box( 'sng-one-column', 'post', 'side' );//1カラム(サイドバーを非表示)
remove_meta_box( 'sng-no-ads', 'post', 'side' );//この記事では広告を非表示

//sango固定ページ
remove_meta_box( 'sng-meta-description', 'page', 'normal' );//メタディスクリプション
remove_meta_box( 'sng-title-tag', 'page', 'normal' );//【高度な設定】titleタグ
remove_meta_box( 'sng-meta-roboto', 'page', 'side' );//メタロボット設定

//デフォルトの投稿ページ
remove_meta_box( 'postcustom','post','normal' ); // カスタムフィールド
remove_meta_box( 'postexcerpt','post','normal' ); // 抜粋
//remove_meta_box( 'commentstatusdiv','post','normal' ); // ディスカッション
remove_meta_box( 'commentsdiv','post','normal' ); // コメント
remove_meta_box( 'trackbacksdiv','post','normal' ); // トラックバック
remove_meta_box( 'authordiv','post','normal' ); // 作成者
remove_meta_box( 'slugdiv','post','normal' ); // スラッグ
remove_meta_box( 'revisionsdiv','post','normal' ); // リビジョン
//remove_meta_box( 'tagsdiv-post_tag' , 'post' , 'side' ); // 投稿のタグ
//remove_post_type_support( 'post', 'title' ); // 投稿ページのタイトル
//remove_post_type_support( 'post', 'editor' ); // 投稿ページの本文欄
remove_post_type_support( 'post', 'author' ); // 投稿ページの作成者
//remove_post_type_support( 'post', 'thumbnail' ); // 投稿ページのアイキャッチ
remove_post_type_support( 'post', 'excerpt' ); // 投稿ページの抜粋
remove_post_type_support( 'post', 'trackbacks' ); // 投稿ページのトラックバック
remove_post_type_support( 'post', 'custom-fields' ); // 投稿ページのカスタムフィールド
//remove_post_type_support( 'post', 'comments' ); // 投稿ページのコメント
//remove_post_type_support( 'post', 'revisions' ); // 投稿ページのリビジョン
remove_post_type_support( 'post', 'page-attributes' ); // 投稿ページのページ属性
remove_post_type_support( 'post', 'post-formats' ); // 投稿ページの投稿フォーマット

remove_action( 'admin_menu', 'add_sngmeta_field' );
}
add_action( 'admin_menu', 'yuya_remove_admin_menu', 20 );
}

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

//remove_post_type_support( 'post', 'revisions' ); // 投稿ページのリビジョン

の//を消しておく。
 

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

if (!current_user_can('administrator')) {

}

を削除すればいい。

これでデフォルトであるものや、Sangoで追加されるメタボックスのオプションは非表示にできる。

その他、プラグインで追加されるものに関しては、別途非表示にしなきゃいけない。

その時指定する、ID(key)はページソースで class や ID から推測するか…

var_dump();

を使って調べる必要がある。