Intereting Posts
Как показать более 5 сообщений? WordPress Redirect Все HTTP-запросы к HTTPS через .htaccess Выделите конкретного пользователя с настраиваемым значением поля Почему формат перманентного месяца и имени не работает на моем новом сайте WordPress (работает на IIS7)? Создание пользовательских полей ввода на стороне администратора получить персонализированный пост по специальной категории Получить изображение из галереи сообщения Пользовательский интерфейс не распознает боковую панель Удалить число разбиения на страницы Создание пользовательского меню Значок боковой панели отображается как текущий в css Удалить трейлинг-слэш из базы категорий и тегов Иерархия и контроль доступа для пользовательских типов сообщений (CPT) Создание пользовательского виджета, который включает в себя тинимус и работает в Site Origin Page Builder Лучший способ отображения сообщений по тегам (не категория) WP_Query с пользовательским типом поиска постов, показывающим все результаты каждый раз

Удаление или перемещение подменю администратора в новом меню

Я кодирую новый плагин WordPress, который регистрирует несколько новых типов сообщений. Все они имеют собственное меню и подменю в бэкэнде WordPress. Как создать новое меню (например, родительскую категорию) и переместить все содержимое под ним?

Solutions Collecting From Web of "Удаление или перемещение подменю администратора в новом меню"

Задайте аргумент

'show_in_menu' => false 

в то время как регистрация вашего сообщения с помощью register_post_type () заставит административные меню игнорировать этот тип сообщения, поэтому это лучшее решение для скрытия меню.

Если вы не можете получить к нему доступ, вы можете подключить функцию к admin_menu для добавления или удаления меню и подменю.

Вот пример. Мы создали тип публикации «artist», но нам не нужно меню администратора художника. Мы хотели бы поставить его под меню «музыка»; которые будут иметь различные другие подменю.

  add_action( 'admin_menu', 'adjust_admin_menu' ); function adjust_admin_menu(){ $menu_slug = 'music'; //menu slug (or path to file); as ID $post_type_artist_slug = 'artist'; $post_type_artist = get_post_type_object($post_type_artist_slug); /////Delete the menu generated by register_post_type() for our custom post type 'artist'. When registering a post type, setting $remove_menu_slug = sprintf('edit.php?post_type=%s',$post_type_artist_slug); //menu slug (here, a path to file); as ID //remove the menu remove_menu_page( $remove_menu_slug ); /* //OR remove the 'add new' submenu remove_submenu_page( $remove_menu_slug, sprintf('post-new.php?post_type=%s',$post_type_artist_slug) //SUBmenu slug (here, a path to file); as ID ); */ /////Create our custom menu $this->menu_page = add_menu_page( __( 'Music', 'music-plugin' ), //page title - I never understood why this parameter is needed for. Put what you like ? __( 'Music', 'music-plugin' ), //menu title 'manage_options', //cappability $menu_slug, array($this,'settings_page'), //this function will output the content of the 'Music' page. 'dashicons-album', // an image would be 'plugins_url( 'myplugin/images/icon.png' )'; but for core icons, see https://developer.wordpress.org/resource/dashicons 6 ); ////Add submenus add_submenu_page( $menu_slug, $post_type_artist->labels->name, //page title - I never understood why this parameter is needed for. Put what you like ? $post_type_artist->labels->name, //submenu title 'edit_posts', sprintf('edit.php?post_type=%s',$post_type_artist_slug) //SUBmenu slug (here, a path to a file); as ID ); add_submenu_page( $menu_slug, $post_type_artist->labels->add_new_item, $post_type_artist->labels->add_new_item, 'edit_posts', sprintf('post-new.php?post_type=%s',$post_type_artist_slug) //SUBmenu slug (here, a path to a file); as ID ); }