Как я могу расширить функции админ-панели WordPress 3.1 в моих плагинах?
Я ищу конкретные хуки и фильтры для добавления ссылок или других функций в панель администратора.
Хорошим примером того, что уже было сделано, является Yoast WordPress SEO (плагин Wordpress) .
В настоящее время нет документации по расширению админ-бара. Согласно Кодексу, есть два фильтра, чтобы отключить или не показывать его:
no_admin_bar()
& show_admin_bar()
Ответы:
Плагин Yoast на самом деле является очень хорошим примером, если все, что вы хотите сделать, это добавить меню. По сути, панель администратора - это просто альтернативный набор ссылок на те же страницы администрирования плагина, что и на боковой панели. Чтобы добавить SEO-меню верхнего уровня, Yoast делает следующее:
Это добавляет меню с именем «wpseo-menu» на панель администратора и направляет пользователей на панель инструментов плагина, когда они нажимают на ссылку. Дочерние ссылки добавляются аналогичным образом:
Вы просто указываете «родитель» меню, которое вы добавляете.
Тогда вы можете пойти так глубоко, как вам нужно, позвонить,
$wp_admin_bar->add_menu()
когда вам нужно, и указать соответствующую информацию.Для справки, переменная
$wp_admin_bar
является экземпляром классаWP_Admin_Bar()
в WordPress. Она имеет несколько различных методов и свойств, но один вы наиболее заинтересованы в здесь, очевидно,add_menu()
. Этот метод принимает определенные параметры:array( 'html' => '', 'class' => '', 'onclick' => '', target => '' );
Но остальная часть
WP_Admin_Bar()
класса является подключаемым. Это зависит только от того, что именно вы пытаетесь сделать и как вы хотите это сделать.Смотрите также:
wpseo_admin_bar()
WP_Admin_Bar()
источник
Небольшой пример, я должен был написать это также в списке wp-хакеров перед просмотром дней
источник
Загрузите ночную сборку и проверьте эти два файла;
Класс
WP_Admin_Bar
по сути является «API», в то время как файлadmin-bar.php
использует его для построения панели по умолчанию и запускает загрузку хуков.Это в значительной степени основы - это все, что я собрал от быстрого гусакера (честно говоря, это немного раздражает, что крючок
admin_bar_menu
не пропускает случайWP_Admin_Bar
- я ненавижу все эти глобалы!)источник