Событие wp.customize.bind не запущено

Я пытаюсь добавить javascript в свой настраиватель тем. Мой JS-файл загружен без проблем, и мое документарное событие работает, но wp.customize.bind() не вызывает мой обратный вызов.

 jQuery(document).on('ready', function(){ console.log('binding') wp.customize.bind('ready', function(){ console.log('ready') }) }) 

binding выводится на консоль, но ready нет.

Что мне не хватает? там, кажется, практически нет документации по использованию javascript здесь.

У меня была такая же проблема. Причина, по которой это не была обязательной для меня, состояла в том, что у меня была эта ошибка "Uncaught TypeError: Cannot read property 'unsync' of undefined" на моей консоли.

Это было вызвано тем, что я удалил настройки header_textcolor из шаблона темы, используя $wp_customize->remove_setting( 'header_textcolor' ); но он все еще упоминается в js.

После его фиксации работа выполнялась по назначению.

Не помещайте обработчик событий в пользовательский режим внутри обработчика event jQuery. ready пользовательский ready будет активирован при ready jQuery, поэтому вы слишком поздно добавляете обработчик событий. Просто делать:

 wp.customize.bind('ready', function(){ console.log('ready'); }); 

Ваш JS должен быть установлен в очередь с помощью скрипта customize-controls как его зависимости. Enqueue в действии customize_controls_enqueue_scripts .