Я хочу добавить параметры экрана на страницу настроек моего плагина, например те, которые доступны на панели инструментов.
Я попытался использовать add_option
метод WP_Screen
объекта и обнаружил, что он поддерживает только два варианта. per_page
и layout_columns
.
Кто-нибудь знает, какую опцию экрана использовать, чтобы получить опции, подобные той, что на странице Dashboard?
Редактировать :
Позвольте мне объяснить, что я пытаюсь немного.
У меня есть различные разделы в плагине « Массовое удаление», и каждый раздел позволяет людям удалять сообщения на основе определенных критериев (например, категории, тегов, пользовательской таксономии и т. Д.). Я хочу позволить пользователям выбирать, какие разделы они хотят использовать и какие разделы они хотят скрыть, аналогично странице Dashboard, где пользователи могут выбирать, какие виджеты Dashboard они хотят видеть, а какие скрывать.
Теперь, чтобы реализовать это, я хочу показать список флажков (по одному для каждого раздела) и позволить пользователю выбрать, какой из них показывать.
Чтобы показать список флажков, мне пришлось вызвать add_option
метод WP_Screen
объекта. Когда я делал это, я понял, что в настоящее время add_option
функция поддерживает только эти два типа, а остальные просто игнорируются.
- на страницу
- layout_columns
Но, только на панели инструментов отображаются флажки. Я хочу знать, как воспроизвести аналогичную вещь в разделе параметров экрана моей пользовательской страницы администратора.
Ответы:
Вам не нужно придумывать новую строку параметров экрана. Просто используйте правильные метабоксы.
В настоящее время вы рисуете псевдометабоксы:
Вы должны сделать это:
Затем зарегистрируйте свои собственные метабоксы в
add_meta_box()
.Прочитайте Meta Boxes на Custom Pages от Стивена Харриса для всех деталей ( демонстрация на GitHub ).
Суть в том, что вы получите опции экрана для этих блоков бесплатно.
И когда WordPress однажды изменит внутреннюю разметку для метабоксов, ваш код, вероятно, все еще будет работать, потому что вы использовали API.
источник
Вы можете сделать это, используя соответствующий фильтр внутри
\WP_Screen
класса. Просто убедитесь, что вы не включаете его по умолчанию:Как показать или скрыть вкладку
Следующий фильтр показывает, как показать или скрыть вкладку. На самом деле, поскольку есть лучший фильтр, следующий способ будет более полезным, если вам нужно принудительно скрыть вкладку, когда она уже существует:
Как показать вкладку и добавить пользовательский контент
Ниже показана вкладка настроек, содержащая поле ввода, в котором содержится значение,
amount
которое вы можете использовать любым способом на своей странице (например, для ограничения результатов$wpdb
запроса).источник
Вот полный, краткий пример, основанный на мета-боксах на пользовательских страницах Стивена Харриса :
Тот же код, что и суть
Ссылки
https://codex.wordpress.org/Dashboard_Widgets_API
источник