Come aggiungere un sottomenu al menu del tipo di post personalizzato in WordPress

Pubblicato: 2020-01-23

WordPress Aggiungi sottomenu al menu del tipo di post personalizzato Se desideri aggiungere una voce di sottomenu a un menu di tipo di post personalizzato, dovresti farlo facilmente utilizzando un semplice frammento di codice. Idealmente, il menu del tipo di post personalizzato ha come impostazione predefinita l'aggiunta di un nuovo post, tassonomia e menu di tutti i post, ma è possibile aggiungere un'altra voce di sottomenu a una pagina di amministrazione delle impostazioni di WordPress.

Prima di imparare come aggiungere un sottomenu al menu del tipo di post personalizzato, è importante capire come registrare un tipo di post personalizzato in WordPress senza utilizzare un plug-in.

È necessario lo slug del tipo di post personalizzato come uno dei parametri della funzione add_submenu_page() per visualizzare il sottomenu nel menu del tipo di post personalizzato. Quindi iniziamo con una rapida recensione su come registrare un tipo di post personalizzato nel tema WordPress.

Registrazione di un tipo di posta personalizzato

Tuttavia, ho spiegato tutti i dettagli su come aggiungere un tipo di post personalizzato a WordPress in quel post; Condividerò rapidamente il codice necessario per aggiungere un tipo di post personalizzato in WordPress. Il codice che registra un tipo di post personalizzato è il seguente:

 /**

  * Tipo di post personalizzato - register_post_type()
  * @description- Njengah Tutorial Esempio di tipo di post personalizzato
  * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee
  *
  */

       add_action('init', "njengah_tutorial_cpt");

       funzione njengah_tutorial_cpt(){
        
              $etichette = array(
                           'name' => _x('Tutorial', 'nome generale tipo post'),
                           'singular_name'=> _x('Tutorial', 'post type singola name'),
                           'menu_name' => _x('Tutorial', 'menu amministratore'),
                           'name_admin_bar' => _x('Tutorial', 'aggiungi nuovo sulla barra di amministrazione'),
                           'add_new' => _x('Aggiungi nuovo', ''),
                           'add_new_item' => __('Aggiungi nuovo tutorial'),
                           'edit_item' => __('Modifica tutorial'),
                           'nuovo_elemento' => __('Nuovo tutorial'),
                           'all_items' => __('Tutto il tutorial'),
                           'view_item' => __('Visualizza tutorial'),
                           'search_items' => __('Cerca tutorial'),
                           'not_found' => __('Nessun tutorial trovato'),
                           'not_found_in_trash' => __('Nessun tutorial trovato nel Cestino'),
                           'parent_item_colon' => __('Tutorial per genitori:'),                     

              );

                     $args = array(
                           'gerarchico' => vero,    
                           'etichette' => $ etichette,
                           'pubblico' => vero,
                           'publicly_queryable' => vero, 
                           'descrizione' => __('Descrizione.'),
                           'show_ui' => vero,
                           'show_in_menu' => vero,
                           'show_in_nav_menus' => vero,                
                           'query_var' => vero,
                           'riscrivi' => vero,
                           'query_var' => vero,
                           'rewrite' => array('slug' => 'tutorial'),
                           'capability_type' => 'pagina',
                           'has_archive' => vero,
                           'menu_position' => 22,
                           "show_in_rest" => vero,
                           'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'revisions', 'page-attributes', 'custom-fields')

                     );

                     register_post_type('tutorial', $args);   

       }

Dovresti aggiungere questo codice al file functions.php del tuo tema figlio e il tipo di post personalizzato dovrebbe essere visto nella tua dashboard come mostrato nell'immagine qui sotto:

WordPress Aggiungi sottomenu al menu del tipo di post personalizzato

Questo codice può anche essere aggiunto a un plug-in WordPress personalizzato per registrare il tipo di post personalizzato. Dovresti anche sostituire la parola chiave "tutorial" nel codice con il nome del tuo tipo di post personalizzato, ad esempio "libro", "film" ecc.

Aggiungi sottomenu al menu del tipo di post personalizzato

Ora vogliamo concentrarci su come aggiungere la pagina del sottomenu nel menu del tipo di post personalizzato.

Per una rapida panoramica, di seguito sono riportati i passaggi da eseguire per aggiungere una voce di sottomenu al menu del tipo di post personalizzato:

  1. Creare un hook di azione per registrare il sottomenu con le rispettive funzioni di callback . In questo caso, ci sono due funzioni da creare.
  2. Sostituisci il primo parametro di add_submenu_page( ) con l'esempio specifico di modifica del tipo di post slug php?post_type='name-of-your-post-type-slug'
  3. Aggiungi il codice nel php e avrai aggiunto con successo il sottomenu al tipo di post personalizzato.

Aggiungi funzione pagina sottomenu

Questa funzione add_submenu_page viene utilizzata per aggiungere sottomenu in tutte le pagine del menu di amministrazione e puoi utilizzare la funzione remove_submenu_page per rimuovere il sottomenu dall'amministratore di WordPress .

La funzione add_submenu_page() di default accetta 7 parametri e il codice generale può essere espresso come segue:

 add_submenu_page(

             stringa $parent_slug,

             stringa $titolo_pagina,

             stringa $titolo_menu,

             stringa $ capacità,

             stringa $menu_slug,

             richiamabile $funzione = '',

             int $posizione = nullo

 )

I parametri della funzione della pagina Aggiungi sottomenu possono essere descritti come segue:

Parametro Descrizione
$ genitore_lumaca Questo è il nome dello slug per l'esempio del menu principale, in questo caso sarà edit.php?post_type ='tutorials'
$titolo_pagina Il testo da visualizzare nell'esempio di tag title 'esempi sottopagina tutorial'
$titolo_menu Il testo da visualizzare nel sottomenu che stiamo creando esempio ' Tutorial'
$ capacità La funzionalità del ruolo WordPress degli utenti che possono accedere a questo menu esempio "amministratori"
$menu_slug Questo è lo slug della pagina che creeremo esempio ' tutorials_subpage_example'
$ funzione La funzione di callback che visualizzerà le informazioni desiderate nella sottopagina che stiamo creando. Esempio di un titolo ' Tutorial sottopagina Esempio'
$posizione Questa è la posizione della voce di menu rispetto agli altri sottomenu; puoi usare questo numero per spingere il menu su e giù in base alle tue preferenze.

Per l'illustrazione in questo tutorial verrà aggiunta la pagina del sottomenu al post personalizzato dei tutorial che creiamo sopra e come mostrato nell'immagine qui sotto:

WordPress Aggiungi sottomenu al menu del tipo di post personalizzato

Aggiungi Custom Post Type Slug al parametro Parent Slug

Per registrare il nostro sottomenu dobbiamo aggiungere il seguente codice al file functions.php sottostante dove abbiamo aggiunto il codice per registrare il tipo di post personalizzato dei tutorial:

 /**
  * Tipo di post personalizzato aggiungi sottopagina al menu post personalizzato
  * @description- Njengah Tutorial Esempio di sottomenu del tipo di post personalizzato
  * @link - https://gist.github.com/Njengah/0764f2c88742c19b67a212c914c9f25f
  *
  */

// Gancio   

add_action('admin_menu', 'add_tutorial_cpt_submenu_example');

//funzione di richiamata del menu_admin

funzione add_tutorial_cpt_submenu_example(){

     add_submenu_page(
                     'edit.php?post_type=tutorial', //$parent_slug
                     'Esempio di sottopagina tutorial', //$page_title
                     'Impostazioni tutorial', //$menu_title
                     'gestire_opzioni', //$capacità
                     'tutorial_subpage_example',//$menu_slug
                     'tutorial_subpage_example_render_page'//$funzione
     );

}

//add_submenu_page funzione di richiamata

funzione tutorial_subpage_example_render_page() {

     echo '<h2> Esempio di sottopagina tutorial </h2>';

}

Quando aggiungi il codice al functions.php o al file base del tuo plugin, dovresti vedere che le impostazioni dei tutorial sono state aggiunte come mostrato di seguito e con tutti i rispettivi parametri discussi sopra e come illustrato nell'immagine seguente:

WordPress Aggiungi sottomenu al menu del tipo di post personalizzato

Conclusione

Puoi facilmente aggiungere questo codice al functions.php del tuo tema e regolare di conseguenza per aggiungere correttamente il sottomenu al menu del tipo di post personalizzato. Il risultato di questo tutorial è l'aggiunta dello slug del tipo di post personalizzato poiché lo slug padre della funzione add_submenu_page comporterà l'aggiunta della pagina del sottomenu nel menu del tipo di post personalizzato. Spero che tu possa utilizzare questa soluzione nello sviluppo del tuo tema WordPress, specialmente dove hai bisogno di alcune pagine delle impostazioni per specifici tipi di post personalizzati; questa è sicuramente la soluzione ideale.