【WordPress】投稿記事編集画面で標準エディタ(本文)を非表示にする方法
投稿記事編集画面で標準エディタ(本文)を非表示にする方法 2種
今日は、WordPress管理画面(投稿記事 編集画面)から標準エディタを表示させないようにするための実現方法を検討してみました。
確認した以下2通りの方法について、お伝えします。
1) ユーザー権限で表示を制御する方法
2) CSSで表示を制御する方法
[用途]
記事の入力を、専用のカスタムフィールドで行うようにカスタマイズした場合など、標準のエディタフィールドが不要となる場合に。
1) ユーザー権限で表示を制御する方法
以下コードを functions.phpに記述することにより、
編集者権限のユーザーが投稿記事編集画面を開いている場合、
標準エディタが非表示となります。
/* ++++++++++++++++++++++++++++ */ /* デフォルトエディタを非表示(ユーザー権限で制御) /* ++++++++++++++++++++++++++++ */ add_action( 'init' , 'my_remove_post_editor_support' ); function my_remove_post_editor_support() { if ( current_user_can('editor') ) { // ログインしているユーザの権限グループを指定 remove_post_type_support( 'post', 'editor' ); } }
2) CSSで表示を制御する方法
[前提]
標準エディタの表示・非表示を切り替え可能にするため、
その目的用にカスタムフィールドを追加しています。
※ここでは下記の「default_editor_on」がそのフィールド名を指しています。
※カスタムフィールドは、プラグイン「Advanced Custom Fields(注)」の真偽タイプで作成しています。
(注) Advanced Custom Fields について
以下、「Advanced Custom Fields」ダウンロードサイトです。
ja.wordpress.org
使い方については、以下、「kotori」さんの記事が非常にわかりやすくて、参考になると思います。
kotori-blog.com
以下コードをfunctions.phpに記述することにより、
カスタムフィールド「default_editor_on」のチェックボックスがオンになっていない場合、標準エディタが非表示となります。
/* ++++++++++++++++++++++++++++ */ /* 標準エディタをcssで非表示 /* ++++++++++++++++++++++++++++ */ add_action('admin_head', 'post_output_css'); function post_output_css() { $pt = get_post_type(); if ($pt == 'post' ) { //投稿の場合はpost //エディタ表示切替 $editor_on = get_field('default_editor_on'); if($editor_on){ }else{ //処理 $hide_postdiv_css = '<style type="text/css">#postdiv, #postdivrich { display: none; }</style>'; echo $hide_postdiv_css; } //if ($pt == 'post') { //投稿の場合はpost //$hide_postdiv_css = '<style type="text/css">#postdiv, #postdivrich { display: none; }</style>'; //echo $hide_postdiv_css; } } //add_action('admin_head', 'post_output_css');
まとめ
上記 1) 2) いずれの方法でも、意図した通り、標準エディタを非表示にすることができました。
より使い勝手の良いWordPress UI実現を目指し、こうした方法も上手にとり入れていきたいものですね。
参考記事一覧
WordPress:カスタム投稿タイプの投稿画面から、本文(エディタ)をCSSで非表示にしたい | takenote
デフォルトの編集エリアを非表示@WordPress - ショウジンブログ
WordPress投稿画面から本文の編集エリアを消す方法 – Pannyatto
デフォルト投稿postの本文フィールドを非表示にする
WordPress 管理画面の投稿編集画面で不要な項目を非表示にする方法 - by Takumi Hirashima
WordPress管理画面の投稿ページの本文(エディタ部分)をCSSで非表示にする方法 | Web技術Tips
デフォルト投稿postの本文フィールドを非表示にする