- WordPress :5.7
- Statut : résolu
- Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par Rock4Temps, le il y a 3 années et 5 mois.
-
AuteurMessages
-
15 avril 2021 à 15 h 35 min #2375419
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL : 7.4.1/v5.7.24
- Thème utilisé : OceanWP
- Extensions en place : Elementor – 3.1.4 WooCommerce – 5.2.0 Ocean Extra – 1.7.4 WooCommerce PDF Invoices & Packing Slips – 2.8.3
- Nom de l’hébergeur :
- Adresse du site : Local
Problème(s) rencontré(s) : Créer un Sous Menu dans un menu d’administration WordPress
J’arrive bien à créer un menu dans l’administration de WordPress avec le Hook admin_menu
mais le sous menu ne s’affiche pas, voici mon code:add_action( 'admin_menu', 'ecwo_menu_items' );
/* On définit nos éléments de menu*/
function ecwo_menu_items() {
// On crée un élément de menu de niveau supérieur: ECWO Settings
add_menu_page(
__( 'Easy Custom Woocommerce OceanWP General Settings', 'easy-custom-woocommerce-oceanwp' ), // Page title , Text Domain(pour la traduction)
__( 'ECWO Settings', 'easy-custom-woocommerce-oceanwp' ), // Menu title, Text Domain(pour la traduction)
'manage_options', // Capabilities (Capacités)
'ecwo_settings_page', // Slug
'ecwo_settings_page_markup', // Display callback (fonction permettant l'affichage du contenu de la page de réglages)
'dashicons-cart', // Icon
66 // Priority/position. Just after 'Plugins'
);
// On crée un élément de sous menu: General Settings
// ce sous menu affichera la même page de réglages que le menu parent
add_submenu_page(
'ecwo_settings_page', // slug du Menu Parent
__( 'Easy Custom Woocommerce OceanWP General Settings', 'easy-custom-woocommerce-oceanwp' ), // Titre de la page identique au menu parent
__( 'General Settings', 'easy-custom-woocommerce-oceanwp' ), // Menu title, Text Domain(pour la traduction)
'manage_options', // Capabilities (Capacités)
'ecwo_settings_page', // Slug du menu Parent
'ecwo_settings_page_markup' // même fonction que le menu parent (fonction permettant l'affichage du contenu de la page de réglages)
// Priority/position
);
}15 avril 2021 à 15 h 44 min #2375421le souci est au 5e argument de « add_submenu_page », il faut mettre le slug de la page et non le slug du parent.
https://developer.wordpress.org/reference/functions/add_submenu_page/
15 avril 2021 à 16 h 33 min #2375432Merci j’ai rectifié mon étourderie pour le 5ème argument, le sous menu est affiché.
un autre problème apparait avec un doublon du menu voir photo ci-jointe, et la position du
sous menu General Settings ?Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.15 avril 2021 à 16 h 50 min #2375434vous ne pouvez pas avoir un sous-menu avec un titre différent s’il y a seulement 1 élément dans le menu.
ça fonctionne seulement à partir de 2 éléments, comme cela par exemple :
function ecwo_menu_items() {
// On crée un élément de menu de niveau supérieur: ECWO Settings
add_menu_page(
"", // Page title , Text Domain(pour la traduction)
__( 'ECWO Settings', 'easy-custom-woocommerce-oceanwp' ), // Menu title, Text Domain(pour la traduction)
'manage_options', // Capabilities (Capacités)
'ecwo_settings_page', // Slug
'ecwo_settings_page_markup', // Display callback (fonction permettant l'affichage du contenu de la page de réglages)
'dashicons-cart', // Icon
66 // Priority/position. Just after 'Plugins'
);
// On crée un élément de sous menu: General Settings
// ce sous menu affichera la même page de réglages que le menu parent
add_submenu_page(
'ecwo_settings_page', // slug du Menu Parent
__( 'Easy Custom Woocommerce OceanWP General Settings', 'easy-custom-woocommerce-oceanwp' ), // Titre de la page identique au menu parent
__( 'General Settings', 'easy-custom-woocommerce-oceanwp' ), // Menu title, Text Domain(pour la traduction)
'manage_options', // Capabilities (Capacités)
'ecwo_settings_page' // Slug du menu Parent
);
add_submenu_page(
'ecwo_settings_page', // slug du Menu Parent
__( 'menu 2 A', 'easy-custom-woocommerce-oceanwp' ), // Titre de la page identique au menu parent
__( 'menu 2 B', 'easy-custom-woocommerce-oceanwp' ), // Menu title, Text Domain(pour la traduction)
'manage_options', // Capabilities (Capacités)
'ecwo__menu_2', // Slug du menu Parent
'ecwo_settings_page_menu_2' // même fonction que le menu parent (fonction permettant l'affichage du contenu de la page de réglages)
// Priority/position
);
}15 avril 2021 à 17 h 02 min #2375436Merci pour votre aide, je marque le sujet comme résolu.
Bonne soirée
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.