customizer.js
_sで、カスタマイザー画面の非同期処理を行うためのjavascritpファイルです。カスタマイザー画面の非同期処理の実装の流れについては、以下のcodexが分かりやすいです。
Theme Customization API Part 3: Configure Live Preview (Optional)
端的にまとめると、以下のように書くことで、カスタマイザー画面で指定した変更を、その部分に非同期に適用することができるようになります。
wp.customize( '/*変更する部分のID*/', function( value ) {
value.bind( function( /*カスタマイザー画面で新しく変更されたもの*/ ) {
//変更する内容
} );
} );
これを頭に入れてけば、どういうことをしているのか理解できると思います。
/**
* File customizer.js.
*
* Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
*/
( function( $ ) {
// Site title and description.
wp.customize( 'blogname', function( value ) {
value.bind( function( to ) {
$( '.site-title a' ).text( to );
} );
} );
wp.customize( 'blogdescription', function( value ) {
value.bind( function( to ) {
$( '.site-description' ).text( to );
} );
} );
// Header text color.
wp.customize( 'header_textcolor', function( value ) {
value.bind( function( to ) {
if ( 'blank' === to ) {
$( '.site-title, .site-description' ).css( {
'clip': 'rect(1px, 1px, 1px, 1px)',
'position': 'absolute'
} );
} else {
$( '.site-title, .site-description' ).css( {
'clip': 'auto',
'position': 'relative'
} );
$( '.site-title a, .site-description' ).css( {
'color': to
} );
}
} );
} );
} )( jQuery );
カスタマイザーの内部的な仕組み
カスタマイザーの内部的な仕組みについては、以下の2つのサイトが大変参考になりました。