Итак, я пытался научить себя динамически создавать новые секции панелей и элементы управления с помощью JS API настройщика.
Несколько дней это разочаровывало, и я не смог найти точный способ добиться этого с помощью JS API.
Пока что это то, что я делаю, чтобы это произошло, но безуспешно:
// for Settings
api.create(
params.id,
params.id,
params.default,
params.args
);
// for controls
var controlConstructor = api.controlConstructor[params.type];
var control = new controlConstructor(params.id, {
params: params,
previewer: api.previewer
});
api.control.add(
params.id,
control
);
//for Sections
var section = new api.Section(params.id, {
params: params
});
api.section.add( params.id, section );
api.section('section_id').activate();
Кажется, что ни один из них не работает, так как раздел не появляется, и мне нужно api.section('section_id').activate()
дважды запустить консоль, чтобы раздел появился, то же самое и с контролем.
источник
Note that the APIs for dynamically-added controls, and APIs for JS-templated custom Sections and Panels are not yet available as of WordPress 4.2.
Это подводит итог. :(Я бы посоветовал вместо того, чтобы изобретать велосипед, возможно, вы будете рассматривать эту основу как основу для своих проектов. http://wpshed.com/wordpress-theme-customizer-framework/ .
Это лучшее, что я нашел, когда учился и искал фреймворки. Вы можете расширить эту платформу своими собственными пользовательскими элементами управления, а ссылка ниже поможет вам понять и реализовать связь между настройщиком и предварительным просмотром настройщика через jQuery или javascript.
https://conductorplugin.com/developing-wordpress-customizer-part1/
источник