Twórz niestandardowe typy postów WordPress za pomocą własnej wtyczki!

Opublikowany: 2021-01-18

Niestandardowe typy postów WordPress są niezwykle przydatne. Jeśli nie masz pewności, co to jest, zapoznaj się z naszym artykułem „Tworzenie niestandardowych typów postów WordPress za pomocą wtyczki”, aby uzyskać więcej informacji. W serii artykułów przyjrzeliśmy się różnym sposobom tworzenia niestandardowego typu posta. Obejmuje to użycie wtyczki (zgodnie ze wspomnianym artykułem) aż do zakodowania niestandardowego typu postu od zera.

Podobnie jak w przypadku większości rzeczy związanych z WordPressem, jeśli masz techniczną zdolność do kodowania w funkcji, szanse na to, że możesz osiągnąć prawie wszystko, nie będąc związanym ograniczeniami nakładanymi przez wtyczki, które mają pomóc Ci osiągnąć wybrany cel. Być może jednak najwyższa kontrola i użyteczność pochodzi z korzystania z niestandardowej wtyczki, którą sam stworzyłeś. W tym artykule zamierzamy podsumować naszą mini serię na temat tworzenia niestandardowych typów postów, przyglądając się, jak zbudować własną wtyczkę Custom Post Type.

Więc odpal edytor tekstu i zaczynajmy!

Utwórz własną wtyczkę typu postów

Jeśli nigdy nie tworzyłeś własnej wtyczki WordPress, przed kontynuowaniem tego samouczka warto zapoznać się z naszym artykułem „Jak zbudować swoją pierwszą wtyczkę WordPress. Przewodnik krok po kroku”.

Wtyczki to idealny sposób na rozszerzenie funkcjonalności stron WordPress. Możliwość korzystania zarówno z gotowych wtyczek, jak i tworzenia własnych w celu rozszerzenia funkcjonalności witryny WordPress to jeden z wielu powodów, dla których WordPress jest tak popularnym CMS. Dodanie funkcjonalności poprzez utworzenie własnej wtyczki (lub użycie wtyczki innej firmy) zwykle oferuje możliwość przełączania motywów i wprowadzania innych ważnych aktualizacji na naszej stronie bez utraty funkcjonalności danej wtyczki (wtyczek).

Z tego powodu sensowne jest projektowanie wtyczek w sposób, który oddziela funkcję od projektu witryny – innymi słowy, gdy wtyczka ma zapewniać podstawową funkcję, działa najlepiej, jeśli nie zawiera również funkcji związanych z motywem. Zapewnia to maksymalną elastyczność, ponieważ ta wtyczka może teoretycznie zostać wdrożona na dowolnej witrynie WordPress.

Mając to na uwadze, wtyczka, którą utworzymy dla naszego niestandardowego typu postów, jest prostą, ale kompletną wtyczką, która zarejestruje nasze niestandardowe typy postów „przepisy” bez konieczności kodowania tej funkcji przez użytkownika końcowego bezpośrednio na swojej stronie internetowej.

Krok pierwszy: Zarejestruj wtyczkę

Pierwszym krokiem jest stworzenie wtyczki, którą nazwiemy „Mój niestandardowy typ postu” i zarejestrowanie jej w naszej witrynie.

Aby to zrobić, utwórz folder wtyczek w folderze /wp-content/plugins i nazwij go my-custom-post-type . Następnie utwórz jego główny plik w tym folderze, który będzie zawierał funkcje naszych wtyczek i kod rejestracyjny. Sugerujemy nadanie plikowi tej samej nazwy my-custom-post-type.php . Więc w twoim kliencie FTP powinno to wyglądać tak.

wtyczka niestandardowego typu posta

Minimalny obowiązkowy kod, który musisz tutaj napisać, to:

 <?php /** Plugin Name: My CPT plugin **/

Ten komentarz PHP informuje WordPressa o istnieniu i nazwie wtyczki. Ciąg „Moja wtyczka CPT” to nazwa, którą zobaczysz teraz na liście wtyczek w obszarze administracyjnym, jeśli ją odświeżysz.

Nadaj funkcjonalność wtyczce Custom Post Type

Teraz nazwaliśmy i zarejestrowaliśmy naszą wtyczkę, którą musimy włamać i dodać do niej trochę funkcjonalności.

Większość potrzebnego kodu została wcześniej napisana w naszym artykule „Ręczne tworzenie niestandardowych typów postów WordPress”. Możesz to sprawdzić, aby dowiedzieć się, jak działa ten kod, lub po prostu skopiuj poniższy kod.

Uwaga: Jeśli wcześniej skorzystałeś z naszego samouczka, dodałeś kod do pliku functions.php . Nie chcemy się podwajać, umieszczając nasz kod zarówno w pliku functions.php , jak i w naszej wtyczce, więc najlepiej jest usunąć to z naszego pliku functions.php przed kontynuowaniem.

Wkleiliśmy ten sam kod z pliku functions.php do głównego pliku php naszych wtyczek. Twój plik my-custom-post-type.php powinien teraz wyglądać tak:

 <?php /** Plugin Name: My CPT plugin **/ //// Create recipes CPT function recipes_post_type() { register_post_type( 'recipes', array( 'labels' => array( 'name' => __( 'Recipes' ), 'singular_name' => __( 'Recipe' ) ), 'public' => true, 'show_in_rest' => true, 'supports' => array('title', 'editor', 'thumbnail'), 'has_archive' => true, 'rewrite' => array( 'slug' => 'my-home-recipes' ), 'menu_position' => 5, 'menu_icon' => 'dashicons-food', // 'taxonomies' => array('cuisines', 'post_tag') // this is IMPORTANT ) ); } add_action( 'init', 'recipes_post_type' ); //// Add cuisines taxonomy function create_recipes_taxonomy() { register_taxonomy('cuisines','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Cuisines', 'taxonomy general name' ), 'singular_name' => _x( 'Cuisine', 'taxonomy singular name' ), 'menu_name' => __( 'Cuisines' ), 'all_items' => __( 'All Cuisines' ), 'edit_item' => __( 'Edit Cuisine' ), 'update_item' => __( 'Update Cuisine' ), 'add_new_item' => __( 'Add Cuisine' ), 'new_item_name' => __( 'New Cuisine' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); register_taxonomy('ingredients','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Ingredients', 'taxonomy general name' ), 'singular_name' => _x( 'Ingredient', 'taxonomy singular name' ), 'menu_name' => __( 'Ingredients' ), 'all_items' => __( 'All Ingredients' ), 'edit_item' => __( 'Edit Ingredient' ), 'update_item' => __( 'Update Ingredient' ), 'add_new_item' => __( 'Add Ingredient' ), 'new_item_name' => __( 'New Ingredient' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); } add_action( 'init', 'create_recipes_taxonomy', 0 );

Teraz, jeśli przejdziesz i aktywujesz swoją wtyczkę w obszarze administracyjnym, powinieneś zobaczyć „Przepisy” w menu głównym!

Tak więc mamy teraz niestandardowy typ postu „przepisy” i dwa posty o przepisach „Przepis 1” i „Przepis 2”, z których każdy ma przypisaną taksonomię „Kuchnia”. I to wszystko! Teraz, zamiast wprowadzać zmiany w kodzie w pliku functions.php za każdym razem, gdy chcesz zaktualizować swój niestandardowy typ postu, możesz to zrobić za pomocą pliku php wtyczki, który jest znacznie lepszy. Masz również bezpośrednią kontrolę nad nim od swojego administratora i możesz szybko i łatwo wyłączyć wtyczkę. Ponadto można to zapisać jako plik zip wtyczki i wykorzystać na innych stronach WordPress.

Zamiast tego użyj wtyczki biblioteki

Jeśli chcesz jeszcze bardziej przyspieszyć proces tworzenia własnych postów niestandardowych, możesz spróbować użyć wtyczki My Custom Functions.

Ta wtyczka umożliwia wstawianie kodu funkcji PHP do Twojej witryny bez konieczności bezpośredniej edycji plików za pośrednictwem połączenia SFTP.

Po zainstalowaniu i aktywacji wtyczki nowa pozycja menu zostanie dodana do twojego menu administratora. Po prostu przejdź do „Ustawienia > Wstawka PHP” i dodaj niestandardowy kod dla niestandardowych wpisów Wpisz w dostarczonym bloku kodu.

Po wpisaniu kodu włącz włącznik i zapisz zmiany. Twój kod PHP zostanie automatycznie dodany do Twojej witryny bez wpływu na jej wydajność lub zmiany plików motywu.

Na tym samym ekranie administratora możesz również znaleźć zakładkę użytkowania i zakładkę FAQ, które mogą naprawdę pomóc ci dowiedzieć się, jak korzystać z wtyczki (dobrze to wykorzystaliśmy podczas testowania!).

Dalsza lektura

Zakończyliśmy właśnie naszą mini-serię dotyczącą niestandardowych typów postów. Jeśli chcesz to sprawdzić, poniżej znajdują się linki do poprzednich artykułów:

  • Twórz niestandardowe typy postów WordPress za pomocą wtyczki
  • Twórz niestandardowe typy postów WordPress ręcznie
  • Niestandardowe typy postów WordPress – idź dalej

Wniosek

Mamy nadzieję, że spodobała Ci się ta seria artykułów i teraz rozumiesz, jak obsługiwane są niestandardowe typy postów. Niestandardowe typy postów to niesamowite rzeczy, które mogą zrewolucjonizować sposób tworzenia witryn WordPress, czyniąc z nich kolejną świetną funkcję WordPress!