【WordPress】固定ページのエディターを非表示にする方法

今回は、固定ページのエディターを非表示にする方法をご紹介します。

 

固定ページのエディターと難しい言葉を選んでおりますが、添付画像の赤枠の本文を入力する箇所になります。

 

 

固定ページにカスタムフィールドを使用する際に、固定ページのエディターを非表示にしたいかと思います。

 

クライアントが、カスタムフィールドに入力する内容を、エディター(本文を入力する箇所)に入力してしまうことも考えられます。

クライントは、WordPressをゴリゴリに扱える方ばかりではないですよね。

 

前置きはこの辺りにして、さっそく解説しますね!

 

固定ページのエディターを非表示にする方法

function.php』に下記のコードを記述してください。

function my_custom_init() {
  remove_post_type_support('page', 'editor');
}
add_action('init', 'my_custom_init');

 

remove post type support』を使用します。
関数リファレンス/remove post type support

 

コードを追加すると下記の添付画像のように、 エディター(本文を入力する箇所)を非表示にすることができました。

 

 

特定の固定ページのエディターを非表示にする方法

実際に運用することを考えると、特定の固定ページのみエディターを非表示にすることの方が良いかと思います。

 

そのような場合は、以下のコードを追加してください。
(IDかタイトルなど、指定の方法は1種類で問題ありません。)

function my_custom_init() {
  // 必須
  $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'];
  if (!isset($post_id)) return;
  // 必須

  // テンプレートファイルで特定
  $template_file = get_post_meta($post_id, '_wp_page_template', true);
  if ($template_file == 'page-contact.php') {
    remove_post_type_support('page', 'editor');
  }
  // テンプレートファイルで特定

  // 固定ページのタイトルで指定
  $post_title = get_the_title($post_id);
  if ($post_title == 'お問い合わせ') {
    remove_post_type_support('page', 'editor');
  }
  // 固定ページのタイトルで指定

  // 固定ページのスラッグで指定
  // 動くが、調整中
  $post = get_post($post_id);
  $slug = $post->post_name;
  if ($slug == 'contact') {
    remove_post_type_support('page', 'editor');
  }
  // 固定ページのスラッグで指定

  // 固定ページのIDで指定
  if ($post_id == 16) {
    remove_post_type_support('page', 'editor');
  }
  // 固定ページのIDで指定

  // 固定ページのIDで指定(複数)
  $disabled_id = array(16, 25, 30);
  if (in_array($post_id, $disabled_id)) {
    remove_post_type_support('page', 'editor');
  }
  // 固定ページのIDで指定(複数)
}
add_action('init', 'my_custom_init');

 

それでは、今回は以上となります。

SNSでもご購読できます。

コメントを残す

前の記事

次の記事