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