Niestandardowe typy postów WordPress – przewodnik dla początkujących
Opublikowany: 2017-01-04WordPress nie jest już tylko narzędziem do pisania i publikowania postów na blogu. Z biegiem lat ewoluował w rozszerzalny, elastyczny i solidny system zarządzania treścią. WordPress powoli, ale pewnie zmierza w kierunku stania się pełnoprawnym frameworkiem do tworzenia aplikacji internetowych. Jedną z rzeczy, które sprawiają, że ten CMS jest tak regulowany, są niestandardowe typy postów.
Domyślnie WordPress zawiera 5 typów treści postów, z których 2 powinny brzmieć bardzo znajomo: post i strona. Ale użytkownicy mogą tworzyć tyle niestandardowych typów postów, ile potrzebują, i używać ich do dostosowywania WordPressa do swoich potrzeb. W tym artykule zapoznamy się z niestandardowymi typami postów WordPress i ich pomocą w tworzeniu niesamowitych stron internetowych. Omówimy dwa sposoby tworzenia niestandardowych typów postów: ręcznie i za pomocą wtyczki.
Niestandardowe typy postów WordPress
Po wyjęciu z pudełka WordPress zawiera następujące typy postów:
- Poczta
- Strona
- Rewizja
- Załącznik
- Menu nawigacji
WordPress traktuje każdy ze swoich typów postów inaczej — umożliwiając unikalne opcje i funkcje. Prostym przykładem mogą być kategorie i tagi, które są przeznaczone wyłącznie dla postu typu „post”. Możesz ustawić swój post na blogu w określonej kategorii, ale nie możesz zrobić tego samego w przypadku strony statycznej. Z drugiej strony strony mogą mieć rodziców i szablony.
Wymienione do tej pory typy postów są zarezerwowane przez WordPress. Użytkownicy mogą tworzyć własne niestandardowe typy postów, aby rozszerzyć funkcjonalność witryny i lepiej zorganizować ich zawartość. Zazwyczaj tworzenie niestandardowych typów postów idzie w parze z tworzeniem niestandardowych pól i niestandardowych taksonomii, które umożliwiają wstawianie unikalnych treści i opcji — specyficznych dla danego typu postu. Ale zostawmy to na inny czas i skupmy się na stworzeniu unikalnego typu postu dla naszej witryny.
Przykłady niestandardowych postów
Typ postu może być dowolnym rodzajem treści, którego potrzebujesz w swojej witrynie. Załóżmy, że mamy witrynę z podcastami, która musi wyświetlać odcinki podcastów i od czasu do czasu publikować oddzielne wpisy na blogu. Teraz, jeśli połączymy wszystkie nasze treści (podcasty i posty na blogu) w jednym miejscu, nasza sekcja treści szybko stanie się bałaganem. Dlatego w naszych okazjonalnych wpisach na blogu będziemy używać domyślnego typu postu „post” w WordPressie, który pozwala nam korzystać z domyślnych taksonomii: kategorii i tagów.
Jeśli chodzi o naszą sekcję Podcast , utworzymy niestandardowy typ posta o nazwie Podcast . W ten sposób możemy oddzielić dwa różne typy treści w witrynie i uporządkować je w schludny sposób. Później możemy utworzyć niestandardowe pola dla naszej sekcji podcastów, takie jak czas trwania odcinka, gospodarze programów, linki i tak dalej. Dodatkowo możemy skonfigurować niestandardowe taksonomie specyficzne dla tego typu treści, takie jak kategorie podcastów, programy podcastów i inne. Widzisz, dokąd to idzie i jak dużą elastyczność oferuje WordPress w zakresie manipulacji treścią i struktury.
Tworzenie niestandardowego typu posta w WordPress
Istnieją dwa sposoby tworzenia niestandardowego typu postu w WordPress: ręcznie (dość łatwe, ale wymaga pewnej znajomości kodowania) i za pomocą wtyczki (znacznie prostsza metoda, ale wymaga zainstalowania zainstalowanej wtyczki). Który wybrać? Posiadanie wielu wtyczek może powodować bóle głowy z powodu niezgodności, problemów z wydajnością i złego kodu. Jeśli masz już mnóstwo zainstalowanych wtyczek, możesz tym razem ubrudzić sobie ręce. Omówimy obie metody, a Ty zdecydujesz, która z nich będzie dla Ciebie najlepsza.
Korzystanie z wtyczki
Istnieje kilka wtyczek do tworzenia niestandardowych typów postów. Jednym z najpopularniejszych jest interfejs użytkownika typu Custom Post — który umożliwia również tworzenie niestandardowych taksonomii dla typu posta.
Ważna uwaga: typy postów utworzone za pomocą wtyczki znikną, jeśli usuniesz daną wtyczkę. Dane będą w bazie danych, ale Twój niestandardowy typ posta stanie się niezarejestrowany i nie będzie dostępny z obszaru administracyjnego.
Interfejs tej wtyczki jest dość intuicyjny i prosty. Klikasz Dodaj nowy, a następnie podajesz nazwę typu posta, etykietę, pojedynczą etykietę i opis dla niestandardowego typu postu. Nie chodzi o to, że 5 typów postów WordPress jest zarezerwowanych i nie możesz używać tych nazw. Oto przykład tego, co należy wprowadzić:
Nazwa typu posta: Podcasty
Etykieta: Podcasty
Pojedyncza nazwa: Podcast
Opis: Typ posta do podcastów
Pole nazwy pojedynczej jest używane przez WordPress do wyświetlania niektórych elementów interfejsu użytkownika i działań, takich jak Dodaj nowy podcast.
Ręcznie
Aby ręcznie utworzyć niestandardowy typ posta, musisz zmodyfikować plik functions.php motywu. Użyj swojego ulubionego klienta FTP i zaloguj się do serwera, na którym znajduje się Twoja witryna. Po połączeniu musisz:
1. Przejdź do wp-content -> motywy -> Twój motyw
2. Otwórz funkcje.php
3. Jeśli używasz motywu potomnego, a nie ma takiego pliku, utwórz go.
4. Wstaw poniższy kod.
Zgodnie z naszym przykładem, musimy utworzyć niestandardowy typ posta podcastu. Oto kod do tego (z kroku 4: następujący kod trafia do twojego pliku functions.php):
// Registering CPT function podcast_post_type() { //Setting up the user interface labels for podcasting CPT $labels = array( 'name' => _x( 'Podcasts', 'Post Type General Name' ), 'singular_name' => _x( 'Podcast', 'Post Type Singular Name' ), 'menu_name' => __( 'Podcasts' ), 'name_admin_bar' => __( 'Podcast' ), 'parent_item_colon' => __( 'Parent Podcast' ), 'all_items' => __( 'All Podcasts' ), 'add_new_item' => __( 'Post New Podcast' ), 'add_new' => __( 'New Podcast' ), 'new_item' => __( 'New Podcast' ), 'edit_item' => __( 'Edit Podcast' ), 'update_item' => __( 'Update Podcast' ), 'view_item' => __( 'View Podcast' ), 'search_items' => __( 'Search Podcasts' ), 'not_found' => __( 'No Podcasts found' ), 'not_found_in_trash' => __( 'No Podcasts found in trash' ) ); //Setting up other options for Podcasts CPT $args = array( 'label' => __( 'Podcasts' ), 'labels' => $labels, 'description' => __( 'Creating and managing podcasts' ), 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'comments', 'revisions', 'custom-fields' ), //Initially supported features 'taxonomies' => array( 'podcast-category'), //If custom taxonomies exist, insert their names in the array 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, ); //Registering custom post type register_post_type( 'podcasts', $args ); } // Hook into init action add_action( 'init', 'podcasts_post_type', 0 );
Ta część kodu może wyglądać na skomplikowaną, ale tak naprawdę nie jest. Po prostu wstawiasz kilka opcji dla niestandardowego typu postu i określasz, jakie będą obsługiwane. Zwróć uwagę, że:
- Tablica $labels mówi WordPressowi, jak wyświetlić typ posta w panelu administracyjnym.
- Tablica $args ładuje całą konfigurację z tablicy $labels i określa opcje niestandardowego typu postu.
- Magia dzieje się, gdy funkcja register_post_type( 'podcasts', $args ) jest wywołana w głównej funkcji podcasts_post_type() z 2 argumentami: nazwą niestandardowego typu postu i opcjami przechowywanymi w $args (który jest tablicą asocjacyjną). Następnie po prostu podłączamy funkcję podcasts_post_type() do inicjalizacji i pozwalamy, aby WordPress ją ładował.
Kiedy klikniesz Zapisz i prześlesz zmodyfikowany plik functions.php do folderu Twojego motywu, powinieneś zobaczyć Podcasty (poniżej postów, ponieważ ustawiliśmy pozycję menu w $args na 5) w panelu administracyjnym WordPressa. Jeśli najedziesz na nią, powinieneś zobaczyć akcje, takie jak „Wszystkie podcasty” i „Dodaj nowy podcast” — tak jak określiliśmy w tablicy $labels. Ponieważ nie wstawiliśmy żadnych niestandardowych pól, podczas próby dodania nowego podcastu wszystko będzie takie samo, jak w przypadku dodawania zwykłego posta.
Jeśli zauważyłeś, w tablicy $args dodaliśmy „podcasty” jako taksonomię. Nie utworzyliśmy jeszcze tej taksonomii, ale ostatecznie będzie ona zawierać nasze niestandardowe kategorie, takie jak Kategorie podcastów, Programy podcastów itp.
Jeśli chodzi o niestandardowe typy postów WordPress, to naprawdę wszystko, czego potrzebujesz teraz. Teraz pojawia się pytanie, jak wyświetlać treści z Twojego CPT, jak tworzyć taksonomie (w naszym przypadku taksonomię podcastów) i jak tworzyć pola niestandardowe? Nie martw się, omówimy to wszystko krok po kroku!