私はあなたの質問に対する私の小さなコメントを強化します。しかし、再びヒント。私はJSの専門家ではありません。フォローのソースであるヒントは、私のサンドボックスのように、さまざまなチェック、例のためにカスタマイザで遊ぶときにのみ使用されました。
wp.customize
WPテーマカスタマイザインターフェイスの理解は、wp.customize javascriptオブジェクトの理解に集中しています。wp.customize
オブジェクトが重要であり、あなたは起動時にそれを設定する必要があります。
実例
以下の小さな例はこれを示しています。まず、var api
をカスタマイザのオブジェクトに設定します。この後、カスタムフィールドをに設定し、api
小さなjQueryソースでこれを拡張して、ライブプレビューの結果を更新します。
( function( $ ) {
var api = wp.customize;
// Site title and description.
api( 'blogname', function( value ) {
value.bind( function( to ) {
$( '#header h1 a, #footer a.site-name' ).html( to );
} );
} );
api( 'blogdescription', function( value ) {
value.bind( function( to ) {
$( '#header p.site-description' ).html( to );
} );
} );
} )( jQuery );
設定とコントロール
コントロールオブジェクトはに格納されwp.customize.control
、設定オブジェクトはに格納されwp.customize
ます。値クラスには多くの機能があり、あなたを助けることができます。
- instance(id)–指定したIDのコレクションからオブジェクトを取得します。
- has(id)–指定したIDのオブジェクトがコレクションに含まれている場合はtrueを返し、それ以外の場合はfalseを返します。
- add(id、value)–指定されたIDと値でオブジェクトをコレクションに追加します。
- remove(id)–コレクションからオブジェクトを削除します。
- create(id)–デフォルトのコンストラクターを使用して新しいオブジェクトを作成し、それをコレクションに追加します。
- each(callback、context)–コレクション内の要素を繰り返し処理します。
カスタム設定
この機能を使用して、カスタム設定を拡張できます。
var api = wp.customize,
mysetting = api.instance( 'my_custom_setting' );
アレイにも使用可能
var api = wp.customize,
mysetting = api.instance( 'my_custom_settings[my_custom_setting_field]' );
取得する
コンソールで結果を確認します。
console.log( api.instance( 'my_custom_settings[my_custom_setting_field]' ).get() );
セットする
機能で設定値を変更することもできますset
。
api.instance( 'my_custom_settings[my_custom_setting_field]' ).set( 'my new value' ) );
コントロールとしてオブジェクトとして取得する
console.log( api.control.instance( 'my_custom_setting_field' ) );
役立つソース
- wp-admin / js / customize-controls.js
- wp-includes / js / customize-preview.js
- wp-includes / js / customize-base.js
api
匿名であることは、のためだけの同義語ですwp.customize
アクセスグローバルである(3行目を参照します)。ただし、コントロールに使用されている「もう1つのオブジェクトモデル」がready
関数を呼び出しているようにinitialize
見えるため、メソッドを上書きする機会がない(つまり、手遅れになる)可能性がないため、何を拡張しようとしていますか?