귀하의 질문에 대한 작은 의견을 강화하겠습니다. 그러나 다시 힌트; 저는 JS 전문가가 아닙니다. 다음 소스, 힌트는 내 샌드 박스 와 같은 다른 검사, 예를 들어 Customizer를 가지고 놀 때만 사용되었습니다 .
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 및 value를 사용하여 컬렉션에 객체를 추가합니다.
- 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 행 참조). 그러나 컨트롤에 사용 된 또 다른 개체 모델이ready
함수를 호출하는 것처럼 보이initialize
므로 메서드를 덮어 쓸 수있는 기회를 얻지 못할 수도 있습니다 (즉, 항상 너무 늦음).