WordPressのテーマカスタマイザー項目を非表示にする方法

WordPressの管理画面から「カスタマイズ」を選択するとテーマカスタマイザーが出てきます。

テーマカスタマイザーを表示させる

こんなやつ。

Wordpress公式テーマのテーマカスタマイザー項目

先日、自作のWordpressテーマをいじっていると、「自前でカスタム設定画面に設ける設定項目」と「テーマカスタマイザーにある設定項目」の設定内容がかぶってしまうため、「テーマカスタマイザー側の設定項目を無くしたい」という需要が出てきました。

で、方法を調べたら結構簡単にテーマカスタマイザーの設定項目を非表示にできたので、その方法をメモがてら紹介です。

スポンサーリンク
レクタングル(大)広告

テーマカスタマイザーの設定項目を非表示にする方法

テーマカスタマイザー側の設定項目を非表示にする場合は、functions.phpに以下のコードを貼り付けます。

add_action( 'customize_register', 'customize_register_custom_demo' );
function customize_register_custom_demo( $wp_customize ) {
  //サイト基本情報
  $wp_customize->remove_section('title_tagline');
  //色
  $wp_customize->remove_section('colors');
  //背景画像がある場合
  //$wp_customize->remove_section('background_image');
  //ヘッダーメディア
  $wp_customize->remove_section('header_image');
  //メニュー
  //$wp_customize->remove_panel('nav_menus');
  //↑こちのコードでは消えなかった
  remove_action( 'customize_register', array( $wp_customize->nav_menus, 'customize_register' ), 11 );
  //ウィジェット
  $wp_customize->remove_panel('widgets');
  //固定フロントページ
  $wp_customize->remove_section('static_front_page');
  //追加CSS
  $wp_customize->remove_section('custom_css');
}
上記は、Wordpress公式テーマのTwenty Seventeenの設定項目を削除するコードとなります。Wordpress4.8.2時点。

remove_sectionと、remove_panelのどちらを利用するかの目安は、デベロッパーツール等で項目のIDを見るとある程度分かります。

remove_sectionを利用する必要がある場合は、デベロッパーツールで見るとID部分が以下のようにsectionと書かれています。

accordion-section-title_tagline

remove_panelを利用する場合は、以下のようになります。

accordion-panel-widgets

参考 カスタマイザー 表示項目のカスタマイズ – WordPress Snippet

動作確認

これで、Twenty Seventeenテーマ上で以下のように表示されていたテーマカスタマイザー項目を

テーマカスタマイザー非表示カスタマイズ前

以下のように非表示にすることができました。

テーマカスタマイザー非表示カスタマイズ後

まとめ

こんな感じで、テーマカスタマイザー項目を結構手軽に非表示にすることができました。

今回のカスタマイズは、テーマ製作等をしていない限りは、そこまで必要なカスタマイズではないかもしれません。

ただ、WEB制作をされている方で「作成物を納品するときに、顧客に触って欲しくない設定項目などがある」なんて場合は、今回紹介した方法で非表示にしておくと、余計なトラブルを防げるかもしれません。