Intereting Posts
Контактная форма не будет отправлена Загрузка файла переднего конца, возвращающего неправильный URL-адрес приложения Истекает уникальные URL-адреса Пользовательские типы сообщений вызывают 404 для страниц? Запрос веб-сервиса Soap из плагина wordpress Записи с сообщениями, которые содержат по крайней мере 3 тега текущего сообщения Неплохая практика создания собственной таблицы для плагина? Условия заказа по количеству – отсутствующие условия Иерархические пользовательские типы сообщений. Показывать только родителя в налоговом архиве? Локальная и живая синхронизированная среда разработки и производства Рекомендуемый контент: в какой области это покрытие Проверка существующего заголовка в пользовательском db-запросе не работает Использование локальных шаблонов и коротких кодов не работает Как удалить или добавить элемент подменю в плагине активировать или деактивировать Устранена проблема с заданной памятью

add_submenu_page не работает

У меня есть встроенный плагин, который создает настраиваемое меню:

add_menu_page( 'Wholesale Pricing', 'Wholesale', 'manage_options', 'woo-wholesale', 'woo_wholesale_page_call'); 

Теперь я пытаюсь добавить подстраницу под этим. Я прочитал код и придумал:

 add_submenu_page( 'woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' ); 

Я предполагаю, что это неверно, поскольку элемент подменю не отображается. Может ли кто-нибудь пролить свет на это, пожалуйста?

Убедитесь, что ваш крюк add_action установлен на admin_menu .

Вот пример кода:

 add_action('admin_menu', 'wpse149688'); function wpse149688(){ add_menu_page( 'Wholesale Pricing', 'Wholesale', 'manage_options', 'woo-wholesale', 'woo_wholesale_page_call'); add_submenu_page( 'woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' ); } 

Также проверьте, зарегистрирован ли пользователь, как есть возможность просмотра этого меню. Поскольку это меню задается с использованием возможностей manage_options .

Я сделал ту же ошибку, что и OP, поскольку это неинтуитивно, как заставить эту работу работать. Читая код на Административные меню , я обнаружил ответ.

Проблема (для меня, во всяком случае) заключалась в том, чтобы отредактировать параметр $parent_slug в вызове add_submenu_page(...) .

Итак, в случае OP вы измените:

 add_submenu_page( 'woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' ); 

чтобы:

 add_submenu_page( 'edit.php?post_type=woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' );