Intereting Posts
Как добавить отзывы с изображением? Динамическое выпадение детских терминов, а затем выпадающие сообщения Что мне нужно будет записать в пользовательский плагин, чтобы добавить переключатель для пользовательской строки CSS на страницу редактирования? Устранение пользовательских шрифтов (WordPress) Как переписать URL-адрес для использования% taxonomy% вместо% category% при наличии нескольких таксономий? Как исключить отображение определенного виджета на домашней / главной странице? add_submenu_page обратный вызов файла вместо функции? Пользовательский тип сообщения не сохраняется Регистрируясь, всегда делайте в верхнем регистре первую букву логина Неустранимая ошибка: Class 'ms \ WP_Query' не найден при инициализации плагина _prime_post_caches в wordpress порядок сортировки для пользовательского пост-типа Сортировка: пользовательский запрос с orderby meta_value_num THEN по названию Динамическое переопределение Fancy Title – часть II Мета-запросы – должна ли работа вложенности после WP 4.1?

Удалить дублирующее главное – подменю в admin?

Когда я добавляю элементы add_menu_page и add_submenu_page для добавления пунктов меню,

 add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' ); add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' ); 

Я получу что-то вроде

  • формы
    • формы
    • Приложения для работы
    • Quote запросы
    • контакты

Можно ли создать его таким образом, чтобы оно становилось

  • формы
    • Приложения для работы
    • Quote запросы
    • контакты

Другими словами, Forms будет ссылаться на Job Applications, и я не хочу, чтобы дополнительный элемент подменю Forms

Привет @JM на работе:

Да, к сожалению, страница подменю добавляется для каждой страницы меню. Было бы неплохо, если бы был вариант, но, увы, в настоящее время нет .

Чтобы удалить параметр подменю в WordPress 3.1 или использовать remove_submenu_page() с таким кодом в файле functions.php вашей темы или в файле .php плагина, который вы могли бы написать:

 add_action( 'admin_menu', 'yoursite_admin_menu' ); function yoursite_admin_menu() { add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' ); add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' ); remove_submenu_page('forms','forms'); } 

Если вы все еще используете WordPress 3.0, вам необходимо unset() элемент $submenu глобальной переменной $submenu следующим образом:

 add_action( 'admin_menu', 'yoursite_admin_menu' ); function yoursite_admin_menu() { add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' ); add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' ); unset($GLOBALS['submenu']['forms'][0]); } не add_action( 'admin_menu', 'yoursite_admin_menu' ); function yoursite_admin_menu() { add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' ); add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' ); add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' ); unset($GLOBALS['submenu']['forms'][0]); } 

Я бы предложил сохранить дополнительный пункт меню, потому что это так, как работают все другие меню WP. (Я знаю, это не то, что вы просили!). Как работают другие меню верхнего уровня, они имеют разные ярлыки для названия большого меню и дубликата под ним (например, «Пользователи», «Все пользователи»; «Инструменты», «Доступные инструменты»). Я думаю, что хорошо придерживаться той же парадигмы, поэтому я обычно переименовываю первый элемент подменю следующим образом:

 <?php add_menu_page( 'Plugin Name', 'Plugin Name', 'read', 'plugin-slug', $callback ); add_submenu_page( 'plugin-slug', 'Plugin Overview', 'Overview', 'read', 'plugin-slug', $callback ); 

Мне пришлось добавить_объект_страницы, а затем удалить его (wp 4.0.1)

 add_menu_page( 'Admin Tools', 'Admin Tools', 'manage_options','parent', '__return_null','', "70.23423" ); // this 'hides' the extra. actually, just makes the text nothing: '' add_submenu_page( 'parent', '', '', 'manage_options', 'parent', '__return_null' ); //ah, but this removes it completely (you need to add it, then remove it :/ remove_submenu_page('parent','parent');