これから Nishiki Pro
テーマを使うなら1度は確認しよう!

Nishiki テーマおすすめ設定 テーマおすすめ設定を見る
  1. ホーム
  2. マニュアル
  3. WordPress(ワードプレス)の使い方
  4. 知ってると便利!ワードプレスのカスタマイザーで設定されている値をフックで変更する方法

ワードプレスの各種設定を直感的に指定できるカスタマイザーは便利ですね。

例えば、Nishiki Pro テーマではカスタマイザーで設定できる項目を以下のように用意しています。

設定をパネル分けしている
サイト基本情報のパネル
パネルそれぞれ
直感的に設定できる項目がある

このカスタマイザーの設定値は、フックで変更できます。

なので「カスタマイザーの設定値をベースにして、フックを使って特定の条件で設定値を変更する」なんて応用もできます。

以下のサンプルを参考ください。

サンプル

例えば、以下のように setting_site_contents_width という {名前} でカスタマイザーに設定を追加したとします。

$wp_customize->add_setting(
	'setting_site_contents_width',
	array(
		'default'              => 1000,
		'sanitize_callback' => ...(以下省略)
	)
);

この設定値を以下のようにフックで変更できます。

// カスタマイザーの設定値を変更
if ( ! function_exists( 'custom_theme_mod_setting_site_contents_width' ) ) {
	function custom_theme_mod_setting_site_contents_width( $current_mod ) {
        $current_mod = 640;
        
        return $current_mod;
	}

	add_filter( 'theme_mod_setting_site_contents_width', 'custom_theme_mod_setting_site_contents_width', 10, 1 );
}

ポイントは add_filter の第一引数のフィルター名に theme_mod_{名前} を指定することです。

theme_mod_{名前} は汎用性も高く、上のサンプル以外のカスタマイザーの設定値もフックが使えます。

なので {名前} さえわかっていれば「カスタマイザーの設定値は、フックで変更できる」ということですね。

すごく便利なので、ぜひ覚えておきましょう!

カスタマイザーの値を無効にする方法

以下のように __return_false を指定すれば、設定を無効にすることもできます。

// カスタマイザーの値を無効にする
add_filter( 'theme_mod_setting_site_contents_width', '__return_false' );

注意点

使用中のテーマやプラグインによってカスタマイザーの設定の有無があります。
当然ですが、カスタマイザーの設定があることが前提で使えるフックなので、しっかり確認しましょう。

参考リンク

WordPress テーマ Nishiki Pro

「ウェブサイト運営に本当に必要とされる機能」をテーマ内にまとめて搭載したワードプレステーマです。

ブロックエディター機能を強化し、これまでのワードプレスでは難しかったコンテンツが簡単に作れます。

ブログ、ポートフォリオ、コーポレートサイト、ビジネスサイト、オンラインショップなど、様々な目的のウェブサイトに対応できるテーマです。

最新情報をチェック!

Nishiki / Nishiki Pro テーマに特化した情報を「にしきちゃん」がお伝えします😀

  • リリース情報
  • 新機能の紹介
  • 便利な使い方
  • 開発中の機能紹介
  • 導入事例
  • あるある日常ネタ

など