Кто-нибудь знает, как добавить разделитель меню администратора? Я нашел это, но это не помогло.
Любые идеи?
admin
admin-menu
user1147
источник
источник
Ответы:
Вот быстрый и грязный способ получить то, что вы хотите.
Задний план
WordPress хранит разделы меню администратора в глобальном массиве под названием
$menu
. Чтобы добавить разделитель, вы добавляете элемент в$menu
массив, используя индекс между индексами опций, которые вы хотите разделить.Используя
add_admin_menu_separator()
функциюИтак, я написал функцию для инкапсуляции логики для этого я вызвал
add_admin_menu_separator()
. Вам нужно будет выбрать индексный номер массива, который больше, чем параметр, после которого вы хотите добавить разделитель, а затем вызвать функцию,add_admin_menu_separator()
передающую указанный индекс в качестве вашего параметра.Например:
Сама
add_admin_menu_separator()
функцияВот определение функции,
add_admin_menu_separator()
которую вы можете скопировать вfunctions.php
файл вашей темы . Да, это загадочно, но также и код, который создает и использует глобальный$menu
массив. (К счастью, в конечном итоге это будет осуждается, но, вероятно, это займет несколько лет.)Нахождение индекса в
$menu
том, что вам нужноДля того, чтобы выяснить , какой номер индекса вам нужно вы можете сделать
var_dump()
из$GLOBALS['menu']
изнутриadmin_init
крючка. Вот немного кода, который вы можетеfunctions.php
временно вставить в файл вашей темы, чтобы увидеть, каковы значения. Это будет работать только при запросе URL-адреса, начинающегося с/wp-admin/
(но обязательно используйте FTP, а не встроенный редактор тем, иначе вы потеряете доступ к своему сайту, по крайней мере, пока не получите FTP-доступ кfunctions.php
файлу вашей темы !) :Смотрите также:
Кстати, вы можете найти эти ссылки в целом полезными для работы с меню администратора:
wp-admin-menu-classes.php
Хотя мои классы меню администратора в настоящее время не предлагают простой способ добавления разделителей, я думаю, что теперь я добавлю это, когда у меня будет время.
источник
Это просто как:
Примечание. Положение разделителя по умолчанию (
$menu[4]
) может отличаться в зависимости от того, какую конфигурацию вы (или ваши плагины) выполнили до этого хука.Конечно, вы можете также настроить
menu-top-first
иmenu-top-last
классы самоанализа.источник
Если некоторые проблемы с разделителями не были добавлены, это было связано с тем, как WordPress удаляет дубликаты разделителей. Добавление
ksort($menu);
в конец функции исправило проблему.источник
Это основано на ответе MastaBaba, но не заменяет ничего в указанной вами позиции - оно просто добавляет разделитель впоследствии.
Также использует анонимную функцию, поэтому она совместима только с PHP версии 5.3 и выше.
источник
Определить, что вы пытаетесь сделать, немного сложно, но я думаю, что вы хотите добавить запись верхнего уровня в меню администратора WordPress.
Смотрите эту документацию в Кодексе WordPress.
Короче говоря, вы ищете использование
add_menu_page()
функции, которая принимает ряд аргументов и отображает дополнительный пункт в административном меню в виде «Dashboard», «Posts», «Media» и т. Д.Надеюсь, я понял это правильно. :-)
источник
add_menu_page()
.Ниже показано действие для Wordpress, которое запускается при отображении меню администратора. Меню администратора - это массив, и все, что вы здесь делаете, - это добавление элемента массива, который определяет разделитель, в указанной вами позиции.
От сюда :
Обратите внимание, что, хотя это скорее напоминает принятый в настоящее время ответ, принятый в настоящее время ответ не работает для меня (и, судя по комментариям, для некоторых других).
источник