Процесс сохранения настроек триггера только с Javascript

Я работаю над настраиваемой темой, которая использует API настройки WordPress, чтобы пользователь мог играть с частями содержимого своего веб-сайта, в основном на первой странице, которую он может изменить, добавляя / удаляя пользовательские блоки, такие как последние сообщения, и т. д. Структура черных собирается и заполняется пользовательским вводом.

Все работает отлично, за исключением сохранения, у Customizer, похоже, есть определенная безопасность, которая блокирует меня от сохранения входного значения: чтобы сохранить его, мне нужно вручную запустить Javascript «нажатие», выбрав вход и нажав клавишу. Если я этого не сделаю, кнопка отправки останется отключенной.

Просмотрев /wp-admin/js/customize-controls.js, мне удалось активировать кнопку отправки:

wp.customize.trigger('change') 

Но даже несмотря на то, что спасительная вещь разблокирована, она не имеет никакого эффекта: входное значение не отправляется admin_ajax.php, и мои данные не сохраняются.

Любая идея о том, как я могу заставить триггер API Javascript сохранять мои данные? Я не мог найти подробный документ о WP JS API, который тоже мог бы помочь, если я его где-то пропустил.

Solutions Collecting From Web of "Процесс сохранения настроек триггера только с Javascript"

Вместо использования jQuery для обновления значения пользовательского ввода используйте wp.customize set() функции wp.customize объекта (находится в customize-base.js ):

 wp.customize( key, function ( obj ) { obj.set( newValue ); } ); 

Где key – это параметр, а newValue – обновленное значение.

Также стоит отметить, что в классе, который расширяет WP_Customize_Control , обязательно используйте $this->get_link() чтобы поместить данные-атрибут data-customize-setting-link на пользовательский ввод (найденный в классе-wp-customize-control. php ).