Comment ajouter un sous-menu au menu de type de publication personnalisé dans WordPress

Publié: 2020-01-23

WordPress Ajouter un sous-menu au menu de type de message personnalisé Si 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 :

WordPress Ajouter un sous-menu au menu de type de message personnalisé

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é :

  1. 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.
  2. 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'
  3. 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 :

WordPress Ajouter un sous-menu au menu de type de message personnalisé

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 :

WordPress Ajouter un sous-menu au menu de type de message personnalisé

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.