おはモニ。
どうもひめたそん@himetasonです。
今回は覚書を兼ねた記事です。

必要のないカスタマイザー項目を消す簡単な方法

テーマの自作をしたりWEBデザインをしている人にとって、標準カスタマイザーの存在は必ずしも便利とは限りません。
オリジナルで追加したカスタマイザー項目と被ってしまったり、提供の際に書き換えて欲しく無い項目だったり。
そんな時は標準項目をサクッと非表示にしてしまいましょう。

section、panelの非表示化方法

まずはこちらの項目。

・サイト基本情報(title_tagline)

・色(colors)

・背景画像(background_image)

・ヘッダーメディア(header_image)

・固定フロントページ(static_front_page)

・追加CSS(custom_css)

これらはセクションです。
functions.phpに下記を追加し保存します。

[codebox title="PHP"]
add_action( "customize_register", 'customize_register_custom_demo' );
function customize_register_custom_demo( $wp_customize ) {
$wp_customize->remove_section('消したいセクション');
}
[/codebox]

消したいセクションと書いている部分にセッションのID(項目の()内の値)を入力しましょう。
以上で非表示になります。

次にウィジェット(widgets)に関してはパネルなので、

[codebox title="PHP"]
add_action( "customize_register", 'customize_register_custom_demo' );
function customize_register_custom_demo( $wp_customize ) {
$wp_customize->remove_panel('消したいパネル');
}
[/codebox]

先ほどと同様に消したいパネルの部分にIDを入れればオッケーです。

簡単ですね。

項目内のcontrolを非表示にする方法

項目内のcontrolを個別に非表示にしたい場合です。
settingを消すこともできますが他の機能と依存関係になっている場合があるので割愛します。

まずWordPressディレクトリ内にあるwp-includesフォルダの中のclass-wp-custmize-manager.phpを開きましょう。
この中に各項目のIDが書いてあります。

検索などで先ほどのsectionやpanelのIDを指定し探すと見つけやすいです。

add control (消したい項目のID

'type'=>この部分を確認すると発見しやすい

このような形で見つけることができます。
IDがわかればあとは簡単です。

先ほどの$wp_customize->remove_section('消したいセクション');の部分を、

[codebox title="PHP"]
$wp_customize->remove_control( '消したいコントロール' );
[/codebox]

に差し替え取得したIDを消したいコントロールの部分に書いて保存でオッケーです。

これじゃうまくいかないよ!って人はこちらも試してください。

[codebox title="PHP"]
add_action( 'customize_register', 'jt_customize_register' );
function jt_customize_register( $wp_customize ) {
$wp_customize->remove_control( '消したいコントロール' );
}
[/codebox]

これで個別に非表示にすることができると思います。
テーマ開発やWEBデザインの際に参考にしていただければ幸いです。

独学でWEBプログラミング学習する際にオススメの本とサイト紹介しています。

ではまた。

おすすめの記事