お問い合わせ

カスタマイザーの起動時間について

カスタマイザーの起動時間について

カスタマイザーの起動時間について調べていたところ、海外サイトで、「theme_mod」と「option」でカスタマイザーの起動時間が倍違うという書き込みを見つけました。

ローカル環境での動作検証

Silentテーマを使い、すべてを「theme_mod / get_theme_mod()」にした場合と、すべてを「option / get_option()」にした場合で、動作検証をしてみました。結果は、海外サイトの情報通り約2倍の違いがありました。

カスタマイザーのコード例

	$wp_customize->add_setting( 'silent_theme_color', array(
		'type'              => 'option', // theme_mod
		'default'           => '#22a4e5',
		'sanitize_callback' => 'sanitize_hex_color',
	) );

すべてを「theme_mod / get_theme_mod()」にした場合

  • カスタマイザーの起動時間に約15秒かかりました。
  • 子テーマ使用時、カスタマイザーの設定がリセットされます。※再設定が必要の意味です。
  • 接頭辞がつけられ、データベースにまとめて保存されます。

すべてを「option / get_option()」にした場合

  • カスタマイザーの起動時間に約8秒かかりました。
  • 子テーマ使用時、カスタマイザーの設定がリセットされません。※再設定が不要の意味です。
  • データベースにそれぞれ保存されます。

「theme_mod」と「option」について

公式サイトの情報では、テーマに「option」を使うケースはまれで、「theme_mod」の使用が一般的とありました。海外サイトでは、「theme_mod」を使うべきだという意見や、好きな方を使えば良いという意見もありました。「theme_mod」は「option」のラッパーで、処理が増える分、起動時間も増えるそうです。

この記事を書いた人

Colors Themes

SilentテーマとClockテーマの開発者です。2013年頃から、テンプレート・テーマ制作に取り組んでいます。汎用性の高いデザインでの制作を心がけています。