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'); }
remove_sectionと、remove_panelのどちらを利用するかの目安は、デベロッパーツール等で項目のIDを見るとある程度分かります。
remove_sectionを利用する必要がある場合は、デベロッパーツールで見るとID部分が以下のようにsectionと書かれています。
remove_panelを利用する場合は、以下のようになります。
参考 カスタマイザー 表示項目のカスタマイズ – WordPress Snippet
動作確認
これで、Twenty Seventeenテーマ上で以下のように表示されていたテーマカスタマイザー項目を
以下のように非表示にすることができました。
まとめ
こんな感じで、テーマカスタマイザー項目を結構手軽に非表示にすることができました。
今回のカスタマイズは、テーマ製作等をしていない限りは、そこまで必要なカスタマイズではないかもしれません。
ただ、WEB制作をされている方で「作成物を納品するときに、顧客に触って欲しくない設定項目などがある」なんて場合は、今回紹介した方法で非表示にしておくと、余計なトラブルを防げるかもしれません。