J'ai construit un plugin qui crée un menu personnalisé comme ceci:
add_menu_page( 'Wholesale Pricing', 'Wholesale', 'manage_options', 'woo-wholesale', 'woo_wholesale_page_call');
J'essaie maintenant d'ajouter un élément de sous-page en dessous de celui-ci. J'ai lu le codex et proposé:
add_submenu_page( 'woo-wholesale', 'Registrations', 'Registrations', 'manage_options', 'woo-wholesale-registrations', 'wwpr_page_call' );
Je suppose que cela est incorrect car l'élément de sous-menu n'est pas affiché. Quelqu'un peut-il nous éclairer s'il vous plaît?
Assurez-vous que votre hook add_action
est défini sur admin_menu .
Voici un exemple de code:
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' );
}
Vérifiez également si l'utilisateur avec lequel vous vous êtes connecté a la possibilité d'afficher ce menu. Comme ce menu est défini avec manage_options
capacité .
J'ai commis la même erreur que l'OP car ce n'est pas intuitif de savoir comment le faire fonctionner. En lisant le codex dans Menus d'administration , j'ai découvert la réponse.
Le problème (pour moi, en tout cas) était de modifier le paramètre $parent_slug
dans l'appel à add_submenu_page(...)
.
Donc, dans le cas du PO, vous changeriez:
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'
);