D'accord, j'ai donc essayé de m'instruire à créer de nouvelles sections de panneaux et des contrôles de manière dynamique à l'aide de l'API JS du personnalisateur.
Cela a été frustrant quelques jours et je n'ai pas pu obtenir le moyen exact d'y parvenir via l'API JS.
Jusqu'à présent, c'est quelque chose que je fais pour y arriver mais sans succès:
// 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();
Aucun d'entre eux ne semble fonctionner car la section n'apparaît pas et je dois exécuter api.section('section_id').activate()
deux fois dans la console pour faire apparaître la section, la même chose est avec contrôle.
la source
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.
Cela résume. :(Je suggère qu'au lieu de réinventer la roue, vous considérerez peut-être ce cadre comme une base pour vos projets. http://wpshed.com/wordpress-theme-customizer-framework/ .
Celui-ci est le meilleur que j'ai trouvé pendant que j'apprenais et recherchais des cadres. Vous pouvez étendre ce cadre avec vos propres contrôles personnalisés et le lien ci-dessous vous aidera à comprendre et à mettre en œuvre la communication entre le personnalisateur et l'aperçu du personnalisateur via jQuery ou javascript.
https://conductorplugin.com/developing-wordpress-customizer-part1/
la source