Comment ajouter un sous-menu au menu de type de publication personnalisé dans WordPress
Publié: 2020-01-23Si vous souhaitez ajouter un élément de sous-menu à un menu de type de publication personnalisé, vous devriez le faire facilement à l'aide d'un simple extrait de code. Idéalement, le menu de type de publication personnalisé a sa valeur par défaut pour ajouter une nouvelle publication, une taxonomie et un menu de toutes les publications, mais il est possible d'ajouter un autre élément de sous-menu à une page d'administration des paramètres WordPress.
Avant d'apprendre à ajouter un sous-menu au menu de type de publication personnalisé, il est important que vous compreniez comment enregistrer un type de publication personnalisé dans WordPress sans utiliser de plugin.
Vous avez besoin du slug du type de publication personnalisé comme l'un des paramètres de la fonction add_submenu_page() pour afficher le sous-menu dans le menu du type de publication personnalisé. Commençons donc par un examen rapide de la façon d'enregistrer un type de publication personnalisé dans le thème WordPress.
Enregistrement d'un type de publication personnalisé
Cependant, j'ai expliqué tous les détails sur la façon d'ajouter un type de publication personnalisé à WordPress dans cette publication ; Je vais partager rapidement le code dont vous avez besoin pour ajouter un type de publication personnalisé dans WordPress. Le code qui enregistre un type de publication personnalisé est le suivant :
/** * Type de message personnalisé - register_post_type() * @description- Exemple de type de message personnalisé du didacticiel Njengah * @lien -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee * */ add_action('init', "njengah_tutorial_cpt"); fonction njengah_tutorial_cpt(){ $étiquettes = tableau( 'name' => _x('Tutoriels', 'post type general name'), 'singular_name'=> _x('Tutoriel', 'post type single name'), 'menu_name' => _x('Tutoriels', 'menu admin'), 'name_admin_bar' => _x('Tutoriel', 'ajouter nouveau sur la barre d'administration'), 'add_new' => _x('Ajouter un nouveau', ''), 'add_new_item' => __('Ajouter un nouveau tutoriel'), 'edit_item' => __('Modifier le tutoriel'), 'new_item' => __('Nouveau Tutoriel'), 'all_items' => __('All Tutorial'), 'view_item' => __('Voir le tutoriel'), 'search_items' => __('Rechercher des tutoriels'), 'not_found' => __('Aucun tutoriel trouvé'), 'not_found_in_trash' => __('Aucun tutoriel trouvé dans la corbeille'), 'parent_item_colon' => __('Tutoriels parent :'), ); $args = tableau( 'hiérarchique' => vrai, 'étiquettes' => $étiquettes, 'public' => vrai, 'publicly_queryable' => vrai, 'description' => __('Description.'), 'show_ui' => vrai, 'show_in_menu' => vrai, 'show_in_nav_menus' => vrai, 'query_var' => vrai, 'réécrire' => vrai, 'query_var' => vrai, 'rewrite' => array('slug' => 'tutoriel'), 'capability_type' => 'page', 'has_archive' => vrai, 'menu_position' => 22, "show_in_rest" => vrai, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'revisions', 'page-attributes', 'custom-fields' ) ); register_post_type('tutoriel', $args); }
Vous devez ajouter ce code au fichier functions.php de votre thème enfant et le type de publication personnalisé doit être visible dans votre tableau de bord comme indiqué dans l'image ci-dessous :
Ce code peut également être ajouté à un plugin WordPress personnalisé pour enregistrer le type de publication personnalisé. Vous devez également remplacer le mot-clé "tutoriel" dans le code par le nom de votre type de publication personnalisé respectif, par exemple "livre", "film", etc.
Ajouter un sous-menu au menu de type de message personnalisé
Nous voulons maintenant nous concentrer sur la façon d'ajouter la page de sous-menu dans le menu de type de publication personnalisé.
Pour un aperçu rapide, voici les étapes à suivre pour ajouter un élément de sous-menu au menu de type de publication personnalisé :
- Créez un crochet d'action pour enregistrer le sous-menu avec les fonctions de rappel respectives . Dans ce cas, il y a deux fonctions à créer.
- Remplacez le premier paramètre de add_submenu_page() par l'exemple spécifique de slug de type de message d'édition php?post_type='name-of-your-post-type-slug'
- Ajoutez le code dans le php et vous aurez ajouté avec succès le sous-menu au type de publication personnalisé.
Ajouter une fonction de page de sous-menu
Cette fonction add_submenu_page est utilisée pour ajouter un sous-menu dans toutes les pages du menu d'administration et vous pouvez utiliser la fonction remove_submenu_page pour supprimer le sous-menu de l'administration WordPress .
La fonction add_submenu_page() prend par défaut 7 paramètres et le code général peut être exprimé comme suit :
add_submenu_page( chaîne $parent_slug, chaîne $page_title, chaîne $menu_title, chaîne $ capacité, chaîne $menu_slug, appelable $fonction = '', entier $position = null )
Les paramètres de fonction de la page d'ajout de sous-menu peuvent être décrits comme suit :
Paramètre | La description |
$parent_slug | Ceci est le nom du slug pour l'exemple de menu parent, dans ce cas, ce sera edit.php?post_type ='tutorials' |
$page_title | Le texte à afficher dans les balises de titre example 'tutorials subpage example' |
$menu_title | Le texte à afficher dans le sous-menu que nous créons exemple 'Tutoriels' |
$capacité | La capacité de rôle WordPress des utilisateurs qui peuvent accéder à cet exemple de menu 'administrateurs' |
$menu_slug | Ceci est le slug de la page que nous allons créer exemple 'tutoriels_subpage_example' |
$fonction | La fonction de rappel qui affichera les informations que nous voulons sur la sous-page que nous créons. Exemple d'un titre 'Exemple de sous-page de didacticiels' |
$position | Il s'agit de la position de l'élément de menu par rapport aux autres sous-menus ; vous pouvez utiliser ce numéro pour faire monter et descendre le menu selon vos préférences. |
Pour illustration dans ce didacticiel, nous ajouterons une page de sous-menu à la publication personnalisée des didacticiels que nous créons ci-dessus et comme indiqué dans l'image ci-dessous :
Ajouter un slug de type de publication personnalisé au paramètre de slug parent
Pour enregistrer notre sous-menu, nous devons ajouter le code suivant au fichier functions.php ci-dessous où nous avons ajouté le code pour enregistrer le type de publication personnalisé des didacticiels :
/** * Type de publication personnalisé ajouter une sous-page au menu de publication personnalisé * @description- Exemple de sous-menu de type de message personnalisé du didacticiel Njengah * @lien - https://gist.github.com/Njengah/0764f2c88742c19b67a212c914c9f25f * */ // Accrocher add_action('admin_menu', 'add_tutorial_cpt_submenu_example'); //Fonction de rappel du menu_admin fonction add_tutorial_cpt_submenu_example(){ add_submenu_page( 'edit.php?post_type=tutoriel', //$parent_slug 'Exemple de sous-page de didacticiel', //$page_title 'Paramètres du didacticiel', //$menu_title 'gérer_options', //$ capacité 'tutorial_subpage_example',//$menu_slug 'tutorial_subpage_example_render_page'//$fonction ); } //fonction de rappel add_submenu_page fonction tutorial_subpage_example_render_page() { echo '<h2> Exemple de sous-page de didacticiel </h2>' ; }
Lorsque vous ajoutez le code au functions.php ou au fichier de base de votre plugin, vous devriez voir les paramètres des Tutoriels ajoutés comme indiqué ci-dessous et avec tous les paramètres respectifs discutés ci-dessus et comme illustré sur l'image ci-dessous :
Conclusion
Vous pouvez facilement ajouter ce code au functions.php de votre thème et l'ajuster en conséquence pour ajouter avec succès un sous-menu au menu de type de publication personnalisé. La conclusion de ce didacticiel consiste à ajouter le slug de type de publication personnalisé, car le slug parent de la fonction add_submenu_page entraînera l'ajout de la page de sous-menu sous le menu de type de publication personnalisé. J'espère que vous pourrez utiliser cette solution dans le développement de votre thème WordPress, en particulier lorsque vous avez besoin d'une page de paramètres pour des types de publication personnalisés spécifiques. c'est certainement la solution idéale.