WordPress 管理画面の投稿編集画面で不要な項目を非表示にする方法

WordPress で管理画面の投稿編集画面で不要な項目を非表示にする方法を紹介します。
例えば、クライアントに触らせたくない項目を非表示にしたいときなどに便利な方法です。

  1. 投稿編集画面で不要な項目を非表示にする
    1. 固定ページやカスタム投稿で項目を非表示にする
  2. 投稿の本文を非表示にする

投稿編集画面で不要な項目を非表示にする

投稿のカテゴリーやタグなどを非表示にするには remove_meta_box() を使用します。
例えば、投稿で抜粋やトラックバックなどを非表示にする場合は、次のコードを function.php に追加します。

/* 【管理画面】投稿編集画面で不要な項目を非表示にする */
function my_remove_meta_boxes() {
remove_meta_box('postexcerpt','post','normal' ); // 抜粋
remove_meta_box('trackbacksdiv','post','normal' ); // トラックバック
remove_meta_box('slugdiv','post','normal'); // スラッグ
remove_meta_box('postcustom','post','normal' ); // カスタムフィールド
remove_meta_box('commentsdiv','post','normal' ); // コメント
remove_meta_box('submitdiv','post','normal' ); // 公開
remove_meta_box('categorydiv','post','normal'); // カテゴリー
remove_meta_box('tagsdiv-post_tag','post','normal' ); // タグ
remove_meta_box('commentstatusdiv','post','normal' ); // ディスカッション
remove_meta_box('authordiv','post','normal' ); // 作成者
remove_meta_box('revisionsdiv','post','normal' ); // リビジョン
remove_meta_box('formatdiv','post','normal' ); // フォーマット
remove_meta_box('pageparentdiv','post','normal' ); // 属性
}
add_action('admin_menu','my_remove_meta_boxes' );

必要のない項目は削除してください。
$id には各項目(抜粋やトラックバックなど)を指定、$page には投稿の種類(投稿や固定ページなど)を指定します。
$context にはメタボックスの種別として normaladvanced などを指定します。

固定ページやカスタム投稿で項目を非表示にする

固定ページやカスタム投稿で非表示にする場合は $page に投稿タイプを指定します。
固定ページの場合は $pagepage を指定。カスタム投稿の場合はカスタム投稿のスラッグを指定します。
固定ページでトラックバックを非表示にする場合は、次のコードを function.php に追加します。

/* 【管理画面】固定ページの編集画面で不要な項目を非表示にする */
function my_remove_meta_boxes() {
remove_meta_box('trackbacksdiv','page','normal' ); // トラックバック
}
add_action('admin_menu','my_remove_meta_boxes' );

投稿の本文を非表示にする

投稿の本文など、WordPress の投稿に標準で実装されている機能を非表示にするには remove_post_type_support() を使用します。
例えば、投稿で本文などを非表示にする場合は、次のコードを function.php に追加します。

/* 【管理画面】投稿編集画面で不要な項目を非表示にする */
function my_remove_post_support() {
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'); // 投稿フォーマット
}
add_action('init','my_remove_post_support');

必要のない項目は削除してください。
$post_type には投稿タイプ(投稿や固定ページなど)を指定、$supports には各項目(タイトルや本文など)を指定します。
固定ページやカスタム投稿で非表示にする場合は $post_type に投稿タイプを指定してください。
例えば、固定ページで本文を非表示にする場合は、次のコードを function.php に追加します。

...省略...
remove_post_type_support('page','editor'); // 本文
...省略...

まとめ

WordPress 管理画面で投稿メニューを非表示にする方法を紹介しました。