web-dev-qa-db-fra.com

Customizer JS API: Ajout d'un contrôle "pages déroulantes"

Quelle est la méthode appropriée pour ajouter une liste de pages (type: dropdown-pages) à l’aide de l’API Customizer JS?

Actuellement, j'ai ce code mais il n'affiche pas de contrôle:

api.control.add( new api.Control( 'custom-control', {
  type: 'dropdown-pages',
  section: 'custom-section',
  setting: new wp.customize.Setting( 'custom-control', '0' ),
  label: 'Select Page'
} ) );

Si je change le type en, par exemple, text, le contrôle est affiché dans la section.

1
Taras Dashkevych

Tu as raison, ça ne marche pas… encore. Nous n'avons pas ajouté de prise en charge pour le contrôle dropdown-pages dans # 30738 car nous voulions utiliser l'API REST pour que ce contrôle puisse extraire les pages. Donc, en 4.9, il s'agit du seul contrôle de base nécessitant un rendu côté serveur dans le noyau. Cependant, en 4.9, il est facile de fournir notre propre implémentation d'un modèle de contenu pour le contrôle dropdown-pages.

J'ai écrit un exemple plugin autonome qui inclut un modèle de contrôle pour le dropdown-pages type de contrôle. Avec ce modèle inclus, vous pouvez créer des contrôles de la même manière que vous le faites ici. Suivez # 42272 pour la prochaine mise en œuvre.

Vous pouvez également envisager le plug-in Personnaliser le sélecteur d'objet , car il fournit un contrôle qui utilise Select2 pour fournir une interface de recherche permettant de sélectionner une ou plusieurs pages. . Voir des exemples d'utilisation dans le plugin Personnaliser les messages .

3
Weston Ruter