WordPressの投稿や固定ページの編集画面で不要な機能を無効化する方法

WordPressの投稿や固定ページの編集画面で不要な機能を無効化する方法

WordPressの投稿や固定ページの編集画面で不要な機能を無効化する方法

WordPressの投稿や固定ページの編集画面には、「抜粋」や「カスタムフィールド」など、デフォルトで様々なウィジェットが用意されています。これらのウィジェットは使わない人にとっては邪魔なだけです。

表示オプションでチェックを外して非表示にすれば良いのですが、クライアントに納品する場合など、functions.phpで制御してしまった方が良いケースもあると思います。

そんな時のために、functions.phpを使って、不要なウィジェットを非表示にする方法を紹介したいと思います。

投稿や固定ページの編集画面から不要な機能を削除にする方法

以下のようにfunctions.phpに記述することで、編集画面からウィジェットを非表示にすることができます。

// 投稿
function remove_postedit_metabox() {
  remove_meta_box( 'postexcerpt','post','normal' ); // 抜粋
  remove_meta_box( 'trackbacksdiv','post','normal' ); // トラックバック送信
  remove_meta_box( 'postcustom','post','normal' ); // カスタムフィールド
  remove_meta_box( 'commentstatusdiv','post','normal' ); // ディスカッション
  remove_meta_box( 'commentsdiv','post','normal' ); // コメント
  remove_meta_box( 'slugdiv','post','normal' ); // スラッグ
  remove_meta_box( 'authordiv','post','normal' ); // 作成者
  remove_meta_box( 'revisionsdiv','post','normal' ); // リビジョン
  remove_meta_box( 'formatdiv','post','normal' ); // フォーマット
  remove_meta_box( 'categorydiv','post','normal' ); // カテゴリー
  remove_meta_box( 'tagsdiv-post_tag','post','normal' ); // タグ
}
add_action('admin_menu','remove_postedit_metabox');
 
// 固定ページ
function remove_pageedit_metabox() {
  remove_meta_box( 'postcustom','page','normal' ); // カスタムフィールド
  remove_meta_box( 'commentstatusdiv','page','normal' ); // ディスカッション
  remove_meta_box( 'commentsdiv','page','normal' ); // コメント
  remove_meta_box( 'slugdiv','page','normal' ); // スラッグ
  remove_meta_box( 'authordiv','page','normal' ); // 作成者
  remove_meta_box( 'revisionsdiv','page','normal' ); // リビジョン
}
add_action('admin_menu','remove_pageedit_metabox');

無効にしたい項目だけを記述してください。

不要な機能を無効化する別の方法

上述したコードでは、remove_meta_boxを使って機能を無効化していますが、以下のようにremove_post_type_supportとunregister_taxonomy_for_object_typeを使って無効化することもできます。

function remove_postedit_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' ); // 投稿フォーマット
  unregister_taxonomy_for_object_type( 'category', 'post' ); // カテゴリ
  unregister_taxonomy_for_object_type( 'post_tag', 'post' ); // タグ
}
add_action( 'init', 'remove_postedit_support' );

固定ページの場合は、’post’を’page’にして無効化したい機能を指定します。また、カスタム投稿の場合も、’post’のところでカスタム投稿名を指定すれば、機能を無効化できます。

あとがき

使わないウィジェットが表示されていると、慣れていない人は迷ってしまいますよね。不要なウィジェットを非表示にすることで、スッキリして更新もしやすくなると思います。

ちなみに、無効化したウィジェットは、表示オプションや管理メニューからも消えます。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です