前回の記事ではカスタマイザで使わないデフォルト要素を解除する方法を書きましたが、今回は逆に追加するときに便利かもしれないメモ。
基本的にカスタマイザにコントローラを登録するには、まずオプションツリー(とでも言うのかな?)が入る入れ物(セクション)を宣言し、そのなかにコントロール(実際にカスタマイズするコントローラ)を登録していきますが、
- title_tagline – タイトルやサイトディスクリプション
- colors – 色関係
- header_image – ヘッダー画像(theme_supportのcustom-headerと同じ?※未検証)
- background_image – 背景画像(theme_supportのcustom-backgroundと同じ?※未検証)
- NAV – メニュー(外観-メニューページの「テーマの場所」と同じ)
- static_front_page – フロントページの設定(設定-表示設定の「フロントページの表示」と同じ)
この6つは新たにadd_sectionで宣言せずとも使用出来ます。
title_taglineなど、既に表示されている部分を指定すればそこに追加で入力できますね。
colorsなどは初期状態では何も表示されていませんが、実際には裏では用意されているようで、コントロールの登録時にセクション部分に上記セクション名を入れてあげると自動的にセクションが表示されます。
例えば、背景色や文字色といった色をカスタマイズするコントロールセットを作ろうと思ったときは、わざわざ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$wp_customize->add_section('custom_theme_colors', array( 'title' => '色の設定' 'priority' => 55 )); $wp_customize->add_setting('mycustomTextColor', array( 'default' => '#333333', 'type' => 'option' )); $wp_customize->add_control(new WP_Customize_Color_Control( $wp_customize, 'mycustomTextColor', array( 'label' => '基本色', 'settings' => 'mycustomTextColor', 'section' => 'custom_theme_colors', 'priority' => 10 ) )); |
としなくても、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$wp_customize->add_setting('mycustomTextColor', array( 'default' => '#333333', 'type' => 'option' )); $wp_customize->add_control(new WP_Customize_Color_Control( $wp_customize, 'mycustomTextColor', array( 'label' => '基本色', 'settings' => 'mycustomTextColor', 'section' => 'colors', 'priority' => 10 ) )); |
だけ書けば自動的に「色」というセクションが出てくて、その中にコントロールが登録されます。
便利っちゃ便利ですが、priorityの設定(セクションが表示される位置)や、セクションの名前を変更できませんので場合によってはセクションを宣言した方がいいかもしれませんね。
参考:Codex : Theme Customization API
ところで、カスタマイザの話題を何度か書いてたんですが、そもそもカスタマイザの項目を細かく自分好みにする方法の記事を書き忘れていましたね。いや、書いたつもりだったんですが、よく見たら下書きのまま放置されてました(←
こちらは書いていた当時よりもだいぶ情報も知識も増えてきたと思うので、改めて公開しようと思います。
ではまた。
コメントする