ホームページ制作&コンサルティング・広告制作 PEACE NET | 山梨 > 備忘録  > wordpress  > WordPressの投稿画面から不要な項目を削除する

WordPressの投稿画面から不要な項目を削除する

投稿画面から不要な機能を削除するには、functions.phpに下記のように記載する。


/**
* 投稿画面から不要な機能を削除する。
*/
function remove_post_supports() {
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_post_supports' );

/**
* 投稿画面から不要な枠(メタボックス)を無効にします。
*/
function remove_post_meta_boxes() {
remove_meta_box( 'slugdiv', 'post', 'normal' ); // スラッグ
remove_meta_box( 'submitdiv', 'post', 'side' ); // 公開
}
add_action( 'admin_menu', 'remove_post_meta_boxes' );

「current_user_can()」との組み合わせの例

「current_user_can()」は、「現在のログインユーザーに権限があるか?/ログインユーザーが権限グループ(管理者、編集者、寄稿者など)に属するか?」を確認するものです。下記では寄稿者のみタイトルと本文欄を無効にします。寄稿者には、カスタムフィールドで用意した項目のみ入力してもらうようなケースで便利


/**
* 投稿の不要な機能を無効にします。(寄稿者)
*/
function remove_post_supports_for_contributor() {
if ( current_user_can( 'contributor' ) ) {
remove_post_type_support( 'post', 'title' ); // タイトル
remove_post_type_support( 'post', 'editor' ); // 本文欄
}
}
add_action( 'init', 'remove_post_supports_for_contributor' );