API-интерфейс Customizer JS: добавление элемента управления «выпадающих страниц»

Каким образом можно добавить список страниц ( type: dropdown-pages ) с помощью JS API-интерфейса Customizer?

В настоящее время у меня есть этот код, но он не отображает элемент управления:

 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' } ) ); 

Если я изменю тип, например, text то элемент управления показан в этом разделе.

Вы правы, это не работает … пока. Мы не добавляли поддержку управления dropdown-pages в # 30738, потому что мы хотели использовать API REST для этого элемента управления для извлечения страниц. Таким образом, в 4.9 это единственный базовый элемент управления, который требует рендеринга на стороне сервера в ядре. Однако в 4.9 легко обеспечить собственную реализацию шаблона контента для управления dropdown-pages .

Я написал автономный примерный плагин, который включает шаблон управления для типа управления dropdown-pages . С включенным шаблоном вы можете создавать элементы управления так же, как и здесь. Следуйте # 42272 для предстоящей основной реализации.

В качестве альтернативы вам может потребоваться настроить настраиваемый селектор объектов , поскольку он предоставляет элемент управления, который использует Select2, чтобы обеспечить доступный для поиска интерфейс для выбора одной или нескольких страниц. См. Пример использования в плагине « Настройка сообщений» .