Jak dodać podmenu do niestandardowego menu typu post w WordPress?
Opublikowany: 2020-01-23Jeśli chcesz dodać element podmenu do niestandardowego menu typu post, powinieneś łatwo to zrobić za pomocą prostego fragmentu kodu. Idealnie, niestandardowe menu typu postu ma domyślnie dodawanie nowego posta, taksonomii i menu wszystkich postów, ale możliwe jest dodanie kolejnego elementu podmenu do strony administracyjnej ustawień WordPress.
Zanim nauczysz się dodawać podmenu do menu typu postów niestandardowych, ważne jest, aby zrozumieć, jak zarejestrować niestandardowy typ postów w WordPress bez użycia wtyczki.
Potrzebujesz informacji o niestandardowym typie wiadomości jako jednego z parametrów funkcji add_submenu_page() , aby wyświetlić podmenu w menu niestandardowego typu wiadomości. Zacznijmy więc od krótkiego przeglądu, jak zarejestrować niestandardowy typ postu w motywie WordPress.
Rejestrowanie niestandardowego typu postu
Chociaż wyjaśniłem wszystkie szczegóły , jak dodać niestandardowy typ postu do WordPressa w tym poście; Szybko udostępnię kod potrzebny do dodania niestandardowego typu posta w WordPressie. Kod, który rejestruje niestandardowy typ postu, jest następujący:
/** * Niestandardowy typ posta - register_post_type() * @description- Njengah Tutorial Przykład niestandardowego typu posta * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee * */ add_action('init', "njengah_tutorial_cpt"); funkcja njengah_tutorial_cpt(){ $etykiety = tablica( 'name' => _x('Samouczki', 'nazwa ogólna typu posta'), 'singular_name'=> _x('Tutorial', 'typ posta w liczbie pojedynczej'), 'menu_name' => _x('Samouczki', 'menu administratora'), 'name_admin_bar' => _x('Tutorial', 'dodaj nowy na pasku administracyjnym'), 'add_new' => _x('Dodaj nowy', ''), 'add_new_item' => __('Dodaj nowy samouczek'), 'edit_item' => __('Edytuj samouczek'), 'new_item' => __('Nowy samouczek'), 'all_items' => __('Wszystkie samouczki'), 'view_item' => __('Wyświetl samouczek'), 'search_items' => __('Poradniki wyszukiwania'), 'not_found' => __('Nie znaleziono samouczków'), 'not_found_in_trash' => __('Nie znaleziono samouczków w Koszu'), 'parent_item_colon' => __('Samouczki dla rodziców:'), ); $argumenty = tablica( 'hierarchiczny' => prawda, 'etykiety' => $etykiety, 'publiczny' => prawda, 'publicly_queryable' => prawda, 'opis' => __('Opis.'), 'show_ui' => prawda, 'show_in_menu' => prawda, 'show_in_nav_menus' => prawda, 'query_var' => prawda, 'przepisz' => prawda, 'query_var' => prawda, 'rewrite' => array('slug' => 'tutorial'), 'capability_type' => 'strona', 'has_archive' => prawda, 'pozycja_menu' => 22, "show_in_rest" => prawda, 'supports' => array( 'tytuł', 'redaktor', 'autor', 'miniaturka', 'poprawki', 'atrybuty-stron', 'niestandardowe-pola' ) ); register_post_type('samouczek', $args); }
Powinieneś dodać ten kod do pliku functions.php motywu podrzędnego, a niestandardowy typ posta powinien być widoczny na pulpicie nawigacyjnym, jak pokazano na poniższym obrazku:
Ten kod można również dodać do niestandardowej wtyczki WordPress, aby zarejestrować niestandardowy typ postu. Należy również zastąpić słowo kluczowe „samouczek” w kodzie odpowiednią nazwą niestandardowego typu postu, na przykład „książka”, „film” itp.
Dodaj podmenu do menu niestandardowego typu postu
Teraz chcemy skupić się na tym, jak dodać stronę podmenu w menu typu posta niestandardowego.
Aby uzyskać szybki przegląd, poniżej przedstawiono kroki, które należy wykonać, aby dodać element podmenu do niestandardowego menu typu postu:
- Utwórz zaczep akcji, aby zarejestrować podmenu z odpowiednimi funkcjami zwrotnymi . W takim przypadku należy stworzyć dwie funkcje.
- Zastąp pierwszy parametr add_submenu_page() konkretnym przykładem ślimaka typu post edycji php?post_type='nazwa-twojego-typu-postu'
- Dodaj kod w php , a pomyślnie dodasz podmenu do niestandardowego typu postu.
Dodaj funkcję strony podmenu
Ta funkcja add_submenu_page służy do dodawania podmenu na wszystkich stronach menu administratora i możesz użyć funkcji remove_submenu_page, aby usunąć podmenu z administratora WordPressa .
Funkcja add_submenu_page() domyślnie przyjmuje 7 parametrów, a ogólny kod można wyrazić w następujący sposób:
add_submenu_page( ciąg $parent_slug, ciąg $page_title, ciąg $menu_title, ciąg znaków $zdolność, ciąg $menu_slug, wywoływalna $funkcja = '', int $pozycja = null )
Parametry funkcji dodawania strony podmenu można opisać w następujący sposób:
Parametr | Opis |
$parent_slug | To jest nazwa slugu dla przykładu menu nadrzędnego, w tym przypadku będzie to edit.php?post_type ='tutorials' |
$page_title | Tekst do wyświetlenia w przykładzie tagów tytułowych 'przykład podstrony z samouczkami' |
$menu_title | Tekst do wyświetlenia w podmenu który tworzymy przykład ' Poradniki' |
$zdolność | Możliwość roli WordPress użytkowników, którzy mają dostęp do tego przykładowego menu „administratorzy” |
$menu_slug | To jest ślimak strony, którą będziemy tworzyć, przykład ' tutorials_subpage_example' |
$funkcja | Funkcja wywołania zwrotnego, która wyświetli żądane przez nas informacje na tworzonej przez nas podstronie. Przykładowy tytuł „Przykład podstrony z samouczkami” |
$pozycja | Jest to pozycja pozycji menu w stosunku do innych podmenu; możesz użyć tego numeru, aby przesuwać menu w górę i w dół, zgodnie z własnymi preferencjami. |
Dla ilustracji w tym samouczku dodamy stronę podmenu do niestandardowego postu samouczków, który utworzymy powyżej i jak pokazano na poniższym obrazku:
Dodaj niestandardowy słupek typu słupka do nadrzędnego parametru słupka
Aby zarejestrować nasze podmenu, powinniśmy dodać następujący kod do pliku functions.php poniżej, gdzie dodaliśmy kod do rejestracji niestandardowego typu postu samouczków:
/** * Niestandardowy typ postu dodaj podstronę do niestandardowego menu postów * @description- Njengah Tutorial Niestandardowy typ podmenu Przykład * @link - https://gist.github.com/Njengah/0764f2c88742c19b67a212c914c9f25f * */ // Hak add_action('admin_menu', 'add_tutorial_cpt_submenu_example'); //admin_menu funkcja wywołania zwrotnego funkcja add_tutorial_cpt_submenu_example(){ add_submenu_page( 'edit.php?post_type=tutorial', //$parent_slug „Przykład podstrony samouczka”, //$page_title „Ustawienia samouczka”, //$menu_title 'manage_options', //$capability 'przykład_podstrony_tutorial',//$menu_slug 'podstrona_tutorial_example_render_page'//$funkcja ); } //add_submenu_page funkcja wywołania zwrotnego function tutorial_subpage_example_render_page() { echo '<h2> Przykład podstrony samouczka </h2>'; }
Po dodaniu kodu do functions.php lub pliku bazowego wtyczki, powinieneś zobaczyć, że ustawienia samouczków są dodawane, jak pokazano poniżej i ze wszystkimi odpowiednimi parametrami omówionymi powyżej i jak pokazano na poniższym obrazku:
Wniosek
Możesz łatwo dodać ten kod do functions.php swojego motywu i odpowiednio dostosować, aby pomyślnie dodać podmenu do niestandardowego menu typu post. Wyjątek z tego samouczka polega na dodaniu niestandardowego komunikatu typu post jako nadrzędnego komunikatu funkcji add_submenu_page , który spowoduje dodanie strony podmenu w menu niestandardowego typu postu. Mam nadzieję, że możesz użyć tego rozwiązania w tworzeniu motywów WordPress, szczególnie tam, gdzie potrzebujesz strony ustawień dla określonych niestandardowych typów postów; to z pewnością idealne rozwiązanie.