Доброго времени суток. На просторах интернета советует выводить настройки так:
- Создать файл customizer.php и подключить его в functions.php
- Создать файл customizer.js
Например вывожу поле ввода телефона. В файл
customizer.php добавляю следующий код:
<?php
function my_customizer_init( $wp_customize ) {
// Добавляем секцию настроек контактов
$wp_customize->add_section( 'contacts_options', array(
'title' => 'Контакты',
'priority' => 10
)
);
// Телефон 1
$wp_customize->add_setting( 'mobile', array(
'default' => '+7 (000) 00 00 00',
'transport' => 'refresh'
)
);
$wp_customize->add_control( 'mobile', array(
'section' => 'contacts_options',
'label' => 'Телефон',
'type' => 'text'
)
);
}
add_action( 'customize_register', 'my_customizer_init' );
/**
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
*/
function my_customize_preview_js() {
wp_enqueue_script( 'my_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20151215', true );
}
add_action( 'customize_preview_init', 'my_customize_preview_js' );
а в файл
customizer.js такой код:
( function( $ ) {
wp.customize( 'mobile', function( value ) {
value.bind( function( to ) {
$( '.mobile' ).text( to );
} );
} );
} )( jQuery );
Все работает. Но оказалось и без второго пункта (без создания файла
customizer.js) тоже работает. Так зачем он нужен?