So fügen Sie ein Untermenü zum benutzerdefinierten Beitragstyp-Menü in WordPress hinzu

Veröffentlicht: 2020-01-23

WordPress Untermenü zum benutzerdefinierten Beitragstyp-Menü hinzufügen Wenn Sie einem benutzerdefinierten Beitragstyp-Menü einen Untermenüpunkt hinzufügen möchten, sollten Sie dies ganz einfach mit einem einfachen Code-Snippet erledigen. Im Idealfall hat das Menü für benutzerdefinierte Beitragstypen standardmäßig das Hinzufügen eines neuen Beitrags, der Taxonomie und des Menüs für alle Beiträge, aber es ist möglich, ein weiteres Untermenüelement zu einer Verwaltungsseite für WordPress-Einstellungen hinzuzufügen.

Bevor Sie lernen, wie man ein Untermenü zum Menü für benutzerdefinierte Posttypen hinzufügt, ist es wichtig, dass Sie verstehen, wie Sie benutzerdefinierte Posttypen in WordPress registrieren, ohne ein Plugin zu verwenden.

Sie benötigen den Slug des benutzerdefinierten Beitragstyps als einen der Parameter der Funktion add_submenu_page() , damit Sie das Untermenü unter dem Menü des benutzerdefinierten Beitragstyps anzeigen können. Beginnen wir also mit einem kurzen Überblick darüber, wie man einen benutzerdefinierten Beitragstyp im WordPress-Design registriert.

Registrieren eines benutzerdefinierten Beitragstyps

Obwohl ich in diesem Beitrag alle Details zum Hinzufügen eines benutzerdefinierten Beitragstyps zu WordPress erklärt habe; Ich werde schnell den Code teilen, den Sie benötigen, um einen benutzerdefinierten Beitragstyp in WordPress hinzuzufügen. Der Code, der einen benutzerdefinierten Beitragstyp registriert, lautet wie folgt:

 /**

  * Benutzerdefinierter Beitragstyp - register_post_type()
  * @description- Njengah Tutorial Custom Post Type Beispiel
  * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee
  *
  */

       add_action('init', "njengah_tutorial_cpt");

       Funktion njengah_tutorial_cpt(){
        
              $labels = array(
                           'name' => _x('Tutorials', 'allgemeiner Name des Beitragstyps'),
                           'singular_name'=> _x('Tutorial', 'post type singular name'),
                           'menu_name' => _x('Tutorials', 'Admin-Menü'),
                           'name_admin_bar' => _x('Tutorial', 'Neues in der Admin-Leiste hinzufügen'),
                           'add_new' => _x('Neu hinzufügen', ''),
                           'add_new_item' => __('Neues Tutorial hinzufügen'),
                           'edit_item' => __('Tutorial bearbeiten'),
                           'new_item' => __('Neues Tutorial'),
                           'all_items' => __('Alle Tutorials'),
                           'view_item' => __('Tutorial ansehen'),
                           'search_items' => __('Tutorials durchsuchen'),
                           'not_found' => __('Keine Tutorials gefunden'),
                           'not_found_in_trash' => __('Keine Tutorials im Papierkorb gefunden'),
                           'parent_item_colon' => __('Tutorials für Eltern:'),                     

              );

                     $args = array(
                           'hierarchical' => wahr,    
                           'labels' => $labels,
                           'öffentlich' => wahr,
                           'publicly_queryable' => wahr, 
                           'Beschreibung' => __('Beschreibung.'),
                           'show_ui' => wahr,
                           'show_in_menu' => wahr,
                           'show_in_nav_menus' => wahr,                
                           'query_var' => wahr,
                           'umschreiben' => wahr,
                           'query_var' => wahr,
                           'rewrite' => array('slug' => 'tutorial'),
                           'capability_type' => 'Seite',
                           'has_archive' => wahr,
                           'menu_position' => 22,
                           "show_in_rest" => wahr,
                           'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'revisions', 'page-attributes', 'custom-fields' )

                     );

                     register_post_type('tutorial', $args);   

       }

Sie sollten diesen Code zur Datei functions.php Ihres Child-Themes hinzufügen und der benutzerdefinierte Beitragstyp sollte in Ihrem Dashboard angezeigt werden, wie in der Abbildung unten gezeigt:

WordPress Untermenü zum benutzerdefinierten Beitragstyp-Menü hinzufügen

Dieser Code kann auch zu einem benutzerdefinierten WordPress-Plugin hinzugefügt werden, um den benutzerdefinierten Beitragstyp zu registrieren. Sie sollten auch das Schlüsselwort „Tutorial“ im Code durch den Namen Ihres jeweiligen benutzerdefinierten Beitragstyps ersetzen, z. B. „Buch“, „Film“ usw.

Untermenü zum Menü für benutzerdefinierte Beitragstypen hinzufügen

Jetzt wollen wir uns darauf konzentrieren, wie man die Untermenüseite unter dem benutzerdefinierten Beitragstypmenü hinzufügt.

Für einen schnellen Überblick sind die folgenden Schritte aufgeführt, die Sie unternehmen sollten, um einen Untermenüpunkt zum Menü für benutzerdefinierte Beitragstypen hinzuzufügen:

  1. Erstellen Sie einen Action-Hook, um das Untermenü mit den entsprechenden Callback-Funktionen zu registrieren . In diesem Fall müssen zwei Funktionen erstellt werden.
  2. Ersetzen Sie den ersten Parameter von add_submenu_page( ) durch das spezifische Slug-Beispiel zum Bearbeiten des Beitragstyps php?post_type='name-of-your-post-type-slug'
  3. Fügen Sie den Code in der PHP -Datei hinzu und Sie haben das Untermenü erfolgreich zum benutzerdefinierten Beitragstyp hinzugefügt.

Untermenüseitenfunktion hinzufügen

Diese Funktion add_submenu_page wird verwendet, um Untermenüs in allen Admin-Menüseiten hinzuzufügen, und Sie können die Funktion remove_submenu_page verwenden, um Untermenüs aus dem WordPress-Administrator zu entfernen .

Die Funktion add_submenu_page () nimmt standardmäßig 7 Parameter entgegen und der allgemeine Code kann wie folgt ausgedrückt werden:

 add_submenu_page(

             Zeichenfolge $parent_slug,

             Zeichenkette $page_title,

             Zeichenfolge $menu_title,

             string $capability,

             Zeichenfolge $menu_slug,

             aufrufbare $Funktion = '',

             int $position = null

 )

Die Funktionsparameter der Untermenüseite hinzufügen können wie folgt beschrieben werden:

Parameter Beschreibung
$parent_slug Dies ist der Slug-Name für das übergeordnete Menübeispiel, in diesem Fall lautet er edit.php?post_type ='tutorials'
$page_title Der Text, der in den Title-Tags angezeigt werden soll Beispiel 'Tutorials Subpage Example'
$menu_title Der Text, der im Untermenü angezeigt werden soll, das wir erstellen, Beispiel 'Tutorials'
$Fähigkeit Die WordPress-Rollenfunktion von Benutzern, die auf dieses Menübeispiel „Administratoren“ zugreifen können
$menu_slug Dies ist der Slug der Seite, die wir erstellen werden. Beispiel 'tutorials_subpage_example'
$Funktion Die Callback-Funktion, die die gewünschten Informationen auf der von uns erstellten Unterseite anzeigt. Beispiel für einen Titel 'Tutorials Subpage Example'
$position Dies ist die Position des Menüpunkts relativ zu den anderen Untermenüs; Sie können diese Nummer verwenden, um das Menü nach Ihren Wünschen nach oben und unten zu verschieben.

Zur Veranschaulichung in diesem Tutorial wird dem benutzerdefinierten Post des Tutorials, den wir oben erstellen, eine Untermenüseite hinzugefügt, wie im Bild unten gezeigt:

WordPress Untermenü zum benutzerdefinierten Beitragstyp-Menü hinzufügen

Fügen Sie dem übergeordneten Slug-Parameter einen benutzerdefinierten Beitragstyp-Slug hinzu

Um unser Untermenü zu registrieren, sollten wir den folgenden Code zur Datei functions.php unten hinzufügen, wo wir den Code hinzugefügt haben, um den benutzerdefinierten Beitragstyp Tutorials zu registrieren:

 /**
  * Benutzerdefinierter Beitragstyp Fügen Sie dem benutzerdefinierten Beitragsmenü eine Unterseite hinzu
  * @description- Njengah Tutorial Benutzerdefiniertes Beitragstyp-Untermenü Beispiel
  * @link - https://gist.github.com/Njengah/0764f2c88742c19b67a212c914c9f25f
  *
  */

// Haken   

add_action('admin_menu', 'add_tutorial_cpt_submenu_example');

//admin_menu Callback-Funktion

Funktion add_tutorial_cpt_submenu_example(){

     add_submenu_page(
                     'edit.php?post_type=tutorial', //$parent_slug
                     'Beispiel für eine Unterseite einer Anleitung', //$page_title
                     'Tutorial-Einstellungen', //$menu_title
                     'manage_options', //$capability
                     'tutorial_subpage_example',//$menu_slug
                     'tutorial_subpage_example_render_page'//$Funktion
     );

}

//add_submenu_page Callback-Funktion

Funktion tutorial_subpage_example_render_page() {

     echo '<h2> Tutorial-Unterseitenbeispiel </h2>';

}

Wenn Sie den Code zu der functions.php oder Ihrer Plugin-Basisdatei hinzufügen, sollten Sie sehen, dass die Tutorials-Einstellungen wie unten gezeigt und mit allen entsprechenden Parametern hinzugefügt wurden, die oben besprochen und auf dem Bild unten dargestellt sind:

WordPress Untermenü zum benutzerdefinierten Beitragstyp-Menü hinzufügen

Fazit

Sie können diesen Code einfach zur functions.php Ihres Themas hinzufügen und entsprechend anpassen, um erfolgreich ein Untermenü zum benutzerdefinierten Beitragstyp-Menü hinzuzufügen. Das Mitnehmen aus diesem Tutorial ist das Hinzufügen des benutzerdefinierten Beitragstyp-Slugs, da der übergeordnete Slug der add_submenu_page- Funktion dazu führt, dass die Untermenüseite unter dem benutzerdefinierten Beitragstyp-Menü hinzugefügt wird. Ich hoffe, Sie können diese Lösung in Ihrer WordPress-Designentwicklung verwenden, insbesondere wenn Sie einige Einstellungsseiten für bestimmte benutzerdefinierte Beitragstypen benötigen. das ist sicher die ideale lösung.