Cum să adăugați submeniu la meniul personalizat tip post în WordPress
Publicat: 2020-01-23Dacă doriți să adăugați un element de submeniu la un meniu personalizat cu tipul de postare, ar trebui să faceți acest lucru cu ușurință folosind un fragment de cod simplu. În mod ideal, meniul personalizat tip postare are implicit adăugarea unei noi postări, taxonomie și meniul pentru toate postările, dar este posibil să adăugați un alt element de submeniu la o pagină de administrare a setărilor WordPress.
Înainte de a învăța cum să adăugați un submeniu la meniul tip de postare personalizat, este important să înțelegeți cum să înregistrați tipul de postare personalizat în WordPress fără a utiliza un plugin.
Aveți nevoie de slug-ul tipului de postare personalizat ca unul dintre parametrii funcției add_submenu_page() pentru a afișa submeniul în meniul tip de post personalizat. Așadar, să începem cu o analiză rapidă despre cum să înregistrăm un tip de postare personalizat în tema WordPress.
Înregistrarea unui tip de postare personalizat
Deși, am explicat toate detaliile despre cum să adăugați un tip de postare personalizat la WordPress în acea postare; Voi împărtăși rapid codul de care aveți nevoie pentru a adăuga un tip de postare personalizat în WordPress. Codul care înregistrează un tip de postare personalizat este următorul:
/** * Tip personalizat de postare - register_post_type() * @description- Njengah Tutorial Exemplu de tip de postare personalizat * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee * */ add_action('init', "njengah_tutorial_cpt"); funcția njengah_tutorial_cpt(){ $labels = array( 'name' => _x('Tutoriale', 'nume general tip post'), 'singular_name' => _x('Tutorial', 'post type singular name'), 'menu_name' => _x('Tutoriale', 'meniu admin'), 'name_admin_bar' => _x('Tutorial', 'adăugaţi nou pe bara de administrare'), 'add_new' => _x('Adăugați nou', ''), 'add_new_item' => __('Adăugați un tutorial nou'), 'edit_item' => __('Edit Tutorial'), 'new_item' => __('Tutorial nou'), 'all_items' => __('Tot Tutorialul'), 'view_item' => __('Vedeți tutorialul'), 'search_items' => __('Tutoriale de căutare'), 'not_found' => __('Nu s-au găsit tutoriale'), 'not_found_in_trash' => __('Nu s-au găsit tutoriale în Coșul de gunoi'), 'parent_item_colon' => __('Tutoriale pentru părinți:'), ); $args = matrice( 'ierarhic' => adevărat, 'labels' => $labels, „public” => adevărat, 'publicly_queryable' => adevărat, 'description' => __('Descriere.'), 'show_ui' => adevărat, 'show_in_menu' => adevărat, 'show_in_nav_menus' => adevărat, 'query_var' => adevărat, 'rewrite' => adevărat, 'query_var' => adevărat, 'rewrite' => array('slug' => 'tutorial'), 'capability_type' => 'pagină', 'has_archive' => adevărat, 'menu_position' => 22, „show_in_rest” => adevărat, 'supports' => array( 'titlu', 'editor', 'autor', 'miniatură', 'reviziuni', 'atribute-paginii', 'câmpuri-personalizate') ); register_post_type('tutorial', $args); }
Ar trebui să adăugați acest cod în fișierul functions.php al temei copilului, iar tipul de postare personalizat ar trebui să fie văzut în tabloul de bord, așa cum se arată în imaginea de mai jos:
Acest cod poate fi adăugat și la un plugin WordPress personalizat pentru a înregistra tipul de postare personalizat. De asemenea, ar trebui să înlocuiți cuvântul cheie „tutorial” din cod cu numele tipului de postare personalizat respectiv, exemplu „carte”, „film” etc.
Adăugați submeniu la meniul tip post personalizat
Acum vrem să ne concentrăm asupra modului de adăugare a paginii submeniului în meniul tip post personalizat.
Pentru o privire de ansamblu rapidă, următorii sunt pașii pe care ar trebui să îi parcurgeți pentru a adăuga un element de submeniu în meniul tip post personalizat:
- Creați un cârlig de acțiune pentru a înregistra submeniul cu funcțiile de apel invers respective . În acest caz, sunt două funcții care trebuie create.
- Înlocuiți primul parametru al add_submenu_page( ) cu exemplul de tip slug de editare specific php?post_type='name-of-your-post-type-slug'
- Adăugați codul în php și veți fi adăugat cu succes submeniul la tipul de postare personalizat.
Adăugați funcția de pagină submeniu
Această funcție add_submenu_page este folosită pentru a adăuga submeniu în toate paginile de meniu admin și puteți folosi funcția remove_submenu_page pentru a elimina submeniul din admin WordPress .
Funcția add_submenu_page () are în mod implicit 7 parametri, iar codul general poate fi expres după cum urmează:
add_submeniu_page( șir $parent_slug, șir $page_title, șir $menu_title, șir $capacitate, șir $menu_slug, $funcție apelabilă = '', int $position = null )
Parametrii funcției paginii de adăugare a submeniului pot fi descriși după cum urmează:
Parametru | Descriere |
$parent_slug | Acesta este numele slug-ului pentru exemplul de meniu părinte, în acest caz, va fi edit.php?post_type ='tutoriale' |
$page_title | Textul care urmează să fie afișat în exemplul de etichete de titlu „exemplu de subpagină de tutoriale” |
$menu_title | Textul care urmează să fie afișat în submeniul pe care îl creăm exemplu „Tutoriale” |
$capacitate | Capacitatea de rol WordPress a utilizatorilor care pot accesa acest exemplu de meniu „administratori” |
$menu_slug | Acesta este slug-ul paginii pe care o vom crea exemplul „tutorials_subpage_example” |
$funcție | Funcția de apel invers care va afișa informațiile pe care le dorim pe subpagina pe care o creăm. Exemplu de titlu „Exemplu de subpagină de tutoriale” |
$poziție | Aceasta este poziția elementului de meniu față de celelalte submeniuri; puteți folosi acest număr pentru a împinge meniul în sus și în jos, după preferințele dvs. |
Pentru ilustrare în acest tutorial, vom fi adăugate o pagină de submeniu la postarea personalizată a tutorialelor pe care o creăm mai sus și așa cum se arată în imaginea de mai jos:
Adăugați tipul de post personalizat Slug la parametrul Parent Slug
Pentru a ne înregistra submeniul ar trebui să adăugăm următorul cod în fișierul functions.php de mai jos unde am adăugat codul pentru a înregistra tutorialele tip post personalizat:
/** * Tipul de postare personalizat adaugă o subpagină la meniul de postare personalizată * @description- Njengah Tutorial Tip de postare personalizat Exemplu de submeniu * @link - https://gist.github.com/Njengah/0764f2c88742c19b67a212c914c9f25f * */ // Cârlig add_action('admin_menu', 'add_tutorial_cpt_submenu_example'); //funcția de apel invers admin_menu funcția add_tutorial_cpt_submenu_example(){ add_submeniu_page( 'edit.php?post_type=tutorial', //$parent_slug „Exemplu de subpagină de tutorial”, //$page_title „Setări tutorial”, //$menu_title 'gestionare_opțiuni', //$capacitate 'tutorial_subpage_example',//$menu_slug 'tutorial_subpage_example_render_page'//$funcție ); } //add_submenu_page funcția de apel invers funcția tutorial_subpage_example_render_page() { echo '<h2> Exemplu de subpagină de tutorial </h2>'; }
Când adăugați codul în funcțiile.php sau în fișierul de bază al pluginului, ar trebui să vedeți că setările Tutorialelor sunt adăugate așa cum se arată mai jos și cu toți parametrii respectivi discutați mai sus și așa cum este ilustrat în imaginea de mai jos:
Concluzie
Puteți adăuga cu ușurință acest cod la funcțiile.php al temei dvs. și puteți ajusta în consecință pentru a adăuga cu succes submeniu la meniul de tip post personalizat. Reducerea acestui tutorial este adăugarea tipului de post personalizat slug, deoarece slug-ul părinte al funcției add_submenu_page va avea ca rezultat adăugarea paginii submeniului sub meniul tip post personalizat. Sper că puteți utiliza această soluție în dezvoltarea temei dvs. WordPress, mai ales acolo unde aveți nevoie de o pagină de setări pentru anumite tipuri de postări personalizate; aceasta este cu siguranță soluția ideală.