カスタマイザーオブジェクト

2020.04.07 2020.04.07

TOPICS

翻訳元記事はこちらです。

カスタマイズAPI はオブジェクト指向です。カスタマイザーオブジェクトには主に 4 つのタイプがあります。パネル、セクション、設定、コントロールです。設定は UI 要素(コントロール)とデータベースに保存された設定を関連付けます。セクションはコントロールのための UI コンテナです。パネルはセクションのコンテナで、複数のセクションをグループ化することができます。

各CustomizerオブジェクトはPHPクラスで表現され、すべてのオブジェクトはCustomize ManagerオブジェクトであるWP_Customize_Managerによって管理されます。

カスタマイザーオブジェクトの追加、削除、変更、カスタマイザーマネージャーへのアクセスには、customize_register フックを使用します。

function themeslug_customize_register( $wp_customize ) {
  // Do stuff with $wp_customize, the WP_Customize_Manager object.
}
add_action( 'customize_register', 'themeslug_customize_register' );

Customizer Managerは、各Customizerオブジェクトタイプにadd_、get_、remove_メソッドを提供しています。get_メソッドは、コントロールを追加する際に指定されたパラメータを直接変更することができます。

add_action('customize_register','my_customize_register');
function my_customize_register( $wp_customize ) {
  $wp_customize->add_panel();
  $wp_customize->get_panel();
  $wp_customize->remove_panel();
 
  $wp_customize->add_section();
  $wp_customize->get_section();
  $wp_customize->remove_section();
 
  $wp_customize->add_setting();
  $wp_customize->get_setting();
  $wp_customize->remove_setting();
 
  $wp_customize->add_control();
  $wp_customize->get_control();
  $wp_customize->remove_control();
}

注意: 一般的に、テーマはコアのセクションやパネルを get メソッドで変更してはいけません。プラグインは必要に応じてこれらの機能を使用することが推奨されます。テーマは、テーマによって追加されていないカスタマイザーセクションを「再編成」すべきではありません。

※訳者注:レベルが高い内容なので、一旦翻訳をストップします。