Jak tworzyć i zarządzać niestandardowymi typami postów WordPress?
Opublikowany: 2022-09-15Zarządzanie treścią wykracza dziś poza posty, strony i media. Setki rodzajów treści muszą być tworzone, edytowane i zarządzane w oparciu o wymagania sklepu, takie jak zamówienia, kupony, recenzje, subskrypcje i członkostwa.
W tym artykule dowiesz się, jak tworzyć i zarządzać niestandardowymi typami postów WordPress z jednego miejsca, oszczędzając czas i pieniądze.
Zacznijmy.
Co to jest niestandardowy typ posta WordPress?
Zasadniczo typy postów odnoszą się do różnych rodzajów treści w witrynie WordPress.
Po zainstalowaniu WordPressa otrzymujesz tylko pięć domyślnych typów postów: post, strona, załącznik, wersja i menu. Dobra wiadomość jest taka, że WordPress jest dość elastyczny i pozwala tworzyć własne typy postów. I dlatego tego typu posty są znane jako niestandardowe typy postów.
Są one bardzo przydatne do tworzenia treści w innym formacie niż zwykły standardowy post lub strona, a dobrą stroną jest to, że WordPress obsługuje nieograniczoną liczbę niestandardowych typów postów.
Na przykład, jeśli prowadzisz witrynę członkowską, chcesz dodać niestandardowy typ wpisu zatytułowany „Członkostwo”.
Jako właściciel sklepu WooCommerce możesz także tworzyć niestandardowe typy postów dla produktów, zamówień, kuponów, subskrypcji, dropshippingu itp.
Po utworzeniu niestandardowy typ wpisu będzie miał własne menu w obszarze administracyjnym pulpitu WordPress .
Biorąc to pod uwagę, przyjrzyjmy się, jak łatwo tworzyć niestandardowe typy postów w WordPressie na własny użytek.
Jak tworzyć niestandardowe typy postów WordPress?
Istnieją dwa sposoby tworzenia niestandardowego typu posta:
- Korzystanie z wtyczek
- Ręcznie
Tworzenie niestandardowych typów postów WordPress za pomocą wtyczki
Dla nie-technicznych i początkujących ta opcja jest łatwa i bezpieczna.
Zalecamy korzystanie z najpopularniejszej wtyczki Custom Post Type UI, która ma ponad milion aktywnych instalacji . Wtyczka zapewnia łatwy w użyciu interfejs do rejestrowania i zarządzania niestandardowymi typami postów i taksonomiami w Twojej witrynie.
Po zainstalowaniu i aktywacji wtyczki przejdź do WordPress Admin panel > CPT UI > Add / Edit Post Types
postów, aby utworzyć nowy niestandardowy typ postu. Powinieneś być na karcie Add New Post Type
.
Najpierw podaj informację dotyczącą niestandardowego typu wpisu, takiego jak wydarzenia. Ten ślimak będzie używany w adresie URL i zapytaniach WordPress, więc może zawierać tylko litery i cyfry. Poniżej podaj nazwy w liczbie mnogiej i pojedynczej dla niestandardowego typu postu.

Następnie kliknij link Populate additional labels based on chosen labels
. Spowoduje to automatyczne wypełnienie dodatkowych pól etykiet poniżej, co w zamian zaoszczędzi Twój czas.
Teraz przewiń w dół do sekcji Additional Labels
. Jeśli nie kliknąłeś powyższego linku, musisz podać opis typu swojego posta i zmienić etykiety.

Etykiety te będą używane w całym interfejsie użytkownika WordPress podczas zarządzania treścią w tym konkretnym typie posta.
Gdy to zrobisz, przejdź do ustawień typu posta. Tutaj możesz ustawić różne atrybuty dla swojego typu postu. Każda opcja zawiera krótki opis wyjaśniający, co robi.

Na przykład możesz zdecydować, aby nie tworzyć hierarchicznych postów, takich jak strony, lub sortować posty chronologiczne w odwrotnej kolejności.
W sekcji poniżej ogólnych ustawień zobaczysz opcje wyboru funkcji edycji obsługiwanych przez ten typ postu. Po prostu zaznacz opcje, które chcesz uwzględnić.
Na koniec kliknij przycisk Add Post Type
, aby zapisać i utworzyć niestandardowy typ posta.

Otóż to. Możesz teraz dodawać treść do nowego niestandardowego typu posta, ponieważ został on pomyślnie utworzony.
W dalszej części tego artykułu pokażemy, jak wyświetlić niestandardowy typ posta w witrynie.
Ręczne tworzenie niestandardowego typu posta
Główną wadą korzystania z wtyczki jest to, że Twoje niestandardowe typy postów znikną po dezaktywacji wtyczki.
Wszelkie dane, które masz w tych niestandardowych typach postów, nadal tam będą, ale Twój niestandardowy typ postu będzie niezarejestrowany i nie będzie dostępny z obszaru administracyjnego.
Jeśli jesteś trochę zaznajomiony z kodem lub pracujesz z technikiem, możesz ręcznie utworzyć niestandardowy typ posta, dodając wymagany kod w pliku functions.php motywu lub we wtyczce specyficznej dla witryny.
Najpierw pokażemy Ci szybki i w pełni działający przykład, abyś zrozumiał, jak to działa. Spójrz na ten kod:
// Nasza niestandardowa funkcja typu post function create_posttype() { register_post_type( 'wydarzenia', // Opcje CPT szyk( 'etykiety' => tablica( 'nazwa' => __( 'Wydarzenia' ), 'singular_name' => __( 'Zdarzenie' ) ), 'publiczny' => prawda, 'has_archive' => prawda, 'rewrite' => array('slug' => 'zdarzenia'), 'show_in_rest' => prawda, ) ); } // Podłączanie naszej funkcji do konfiguracji motywu add_action( 'init', 'create_posttype' );
Ten fragment kodu rejestruje events
typu post z tablicą argumentów. Te argumenty to opcje naszego niestandardowego typu postu.
Tablica składa się z dwóch części. Pierwsza część jest oznaczona i sama jest tablicą. Druga część zawiera inne argumenty, takie jak widoczność publiczna, 'has_archive, slug i show_in_rest, które umożliwiają obsługę edytora bloków.
Rzućmy okiem na bardziej szczegółowy kod, który dodaje dodatkowe opcje do niestandardowego typu postu:
/* * Tworzenie funkcji do tworzenia naszego CPT */ funkcja custom_post_type() { // Ustaw etykiety interfejsu użytkownika dla niestandardowego typu postu $etykiety = tablica( 'name' => _x( 'Zdarzenia', 'Ogólna nazwa typu posta', 'twentytwentyone' ), 'singular_name' => _x( 'Zdarzenie', 'Pojedyncza nazwa wpisu', 'dwadzieścia dwadzieścia jeden' ), 'menu_name' => __( 'Wydarzenia', 'dwadzieścia dwadzieścia jeden' ), 'parent_item_colon' => __( 'Zdarzenie nadrzędne', 'dwadzieścia dwadzieścia jeden' ), 'all_items' => __( 'Wszystkie zdarzenia', 'dwadzieścia dwadzieścia jeden' ), 'view_item' => __( 'Wyświetl wydarzenie', 'dwadzieścia dwadzieścia jeden' ), 'add_new_item' => __( 'Dodaj nowe wydarzenie, 'twentytwentyone' ), 'add_new' => __( 'Dodaj nowy', 'dwadzieścia dwadzieścia jeden' ), 'edit_item' => __( 'Edytuj wydarzenie', 'dwadzieścia dwadzieścia jeden' ), 'update_item' => __( 'Aktualizuj wydarzenie', 'dwadzieścia dwadzieścia jeden' ), 'search_items' => __( 'Wyszukaj zdarzenie', 'dwadzieścia dwadzieścia jeden' ), 'not_found' => __( 'Nie znaleziono', 'dwadzieścia dwadzieścia jeden' ), 'not_found_in_trash' => __( 'Nie znaleziono w Koszu', 'dwadzieścia dwadzieścia jeden' ), ); // Ustaw inne opcje dla niestandardowego typu postu $argi = tablica( 'label' => __( 'Zdarzenia', 'dwadzieścia dwadzieścia jeden' ), 'description' => __( 'Dane zdarzenia', 'dwadzieścia dwadzieścia jeden' ), 'etykiety' => $etykiety, // Funkcje obsługiwane przez ten CPT w edytorze postów 'supports' => array( 'title', 'editor', 'excerpt', 'autor', 'thumbnail', 'comments', 'revisions', 'custom-fields', ), // Możesz powiązać ten CPT z taksonomią lub taksonomią niestandardową. 'taksonomie' => array( 'gatunki' ), /* Hierarchiczny CPT jest jak Strony i może mieć * Przedmioty nadrzędne i podrzędne. Niehierarchiczny CPT * jest jak Posty. */ 'hierarchiczny' => fałsz, 'publiczny' => prawda, 'show_ui' => prawda, 'show_in_menu' => prawda, 'show_in_nav_menus' => prawda, 'show_in_admin_bar' => prawda, 'pozycja_menu' => 5, 'can_export' => prawda, 'has_archive' => prawda, 'exclude_from_search' => fałsz, 'publicly_queryable' => prawda, 'capability_type' => 'publikuj', 'show_in_rest' => prawda, ); // Rejestracja niestandardowego typu postu register_post_type( 'zdarzenia', $args ); } /* Zaczep do akcji 'init', aby funkcja * Nie zawiera naszej rejestracji typu post * niepotrzebnie wykonane. */ add_action( 'init', 'custom_post_type', 0 );
Jak widać, za pomocą tego kodu dodaliśmy o wiele więcej opcji do niestandardowego typu posta. Spowoduje to dodanie większej liczby funkcji, takich jak obsługa wersji, polecanych obrazów, pól niestandardowych i nie tylko.

Powiązaliśmy również ten niestandardowy typ posta z niestandardową taksonomią zwaną genres
.
Możesz również zauważyć część, w której ustawiliśmy wartość hierarchiczną na fałsz. Jeśli chcesz, aby Twój niestandardowy typ posta zachowywał się jak Strony, możesz ustawić tę wartość na true.
Domenę tekstową motywu można znaleźć w pliku style.css
w katalogu motywu. Domena tekstowa zostanie wymieniona w nagłówku pliku.
Wyświetlanie niestandardowych typów postów w Twojej witrynie
Po utworzeniu typu posta musisz pokazać go odwiedzającym na stronie.
WordPress ma wbudowaną obsługę wyświetlania niestandardowych typów postów. Po dodaniu kilku elementów do nowego niestandardowego typu postu nadszedł czas, aby wyświetlić je w swojej witrynie.
Istnieje kilka metod, z których możesz skorzystać, a każda z nich ma swoje zalety.
Wyświetlanie niestandardowych typów postów przy użyciu domyślnego szablonu archiwum
Przejdź do WordPress admin panel > Appearance > Menus
i dodaj niestandardowy link do swojego menu. Ten niestandardowy link jest linkiem do niestandardowego typu posta.
Jeśli korzystasz z przyjaznych dla SEO linków bezpośrednich, adres URL Twojego niestandardowego typu postu będzie w większości podobny do tego: http://example.com/events.
Jeśli nie korzystasz z przyjaznych SEO linków bezpośrednich, Twój niestandardowy adres URL typu postu będzie wyglądał mniej więcej tak:
http://example.com/?post_type=events.
Nie zapomnij zamienić „example.com” na własną nazwę domeny, a „events” na nazwę niestandardowego typu posta.

Zapisz swoje menu, a następnie odwiedź fronton swojej witryny. Zobaczysz nowy element menu, który dodałeś, a po kliknięciu wyświetli twoją niestandardową stronę archiwum typu postu, używając pliku szablonu archive.php w twoim motywie.
Tworzenie niestandardowych szablonów postów
Drugim sposobem wyświetlania niestandardowych typów postów jest użycie dedykowanego szablonu dla archiwów niestandardowych typów postów.
Wszystko, co musisz zrobić, to utworzyć nowy plik w katalogu motywu i nazwać go archive-events.php
. Pamiętaj, aby zastąpić słowo „wydarzenia” nazwą niestandardowego typu wpisu.
Aby rozpocząć, możesz skopiować zawartość pliku archive.php motywu do szablonu archive-events.php, a następnie zmodyfikować go zgodnie ze swoimi potrzebami.
Teraz za każdym razem, gdy uzyskasz dostęp do strony archiwum dla Twojego niestandardowego typu postu, ten szablon zostanie użyty do jego wyświetlenia.
Podobnie możesz również utworzyć niestandardowy szablon do wyświetlania pojedynczego wpisu typu posta. Aby to zrobić, musisz utworzyć single-events.php w swoim katalogu motywów. Nie zapomnij zastąpić słowa „wydarzenia” nazwą niestandardowego typu posta.
Możesz zacząć od skopiowania zawartości szablonu single.php twojego motywu do szablonu single-events.php, a następnie zacząć modyfikować go w celu spełnienia swoich potrzeb.
Wyświetlanie niestandardowych typów postów na stronie głównej
Jedną z zalet korzystania z niestandardowych typów postów jest oddzielenie niestandardowych typów treści od zwykłych postów. Jeśli jednak chcesz, możesz wyświetlić niestandardowe typy postów na stronie głównej swojej witryny.
Po prostu dodaj ten kod do pliku functions.php motywu lub we wtyczce specyficznej dla witryny.
add_action( 'pre_get_posts', 'add_my_post_types_to_query' ); funkcja add_my_post_types_to_query( $zapytanie ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'zdarzenia' ) ); zwróć $zapytanie; }
Nie zapomnij zastąpić słowa „wydarzenia” własnym typem wpisu.
Możesz również rozważyć ten dokument w celu uzyskania dalszych informacji na temat dodawania kodów niestandardowych.
Zapytania o niestandardowe typy postów
Jeśli jesteś zaznajomiony z uruchamianiem zapytań w pętli w swoich szablonach, oto jak to zrobić. Wysyłając zapytanie do bazy danych, możesz pobrać elementy z niestandardowego typu postu.
Musisz skopiować następujący fragment kodu do szablonu, w którym chcesz wyświetlić niestandardowy typ posta.
<?php $args = array( 'post_type' => 'wydarzenia', 'posts_per_page' => 10 ); $the_query = nowe WP_Query( $args ); if ( $the_query->have_posts() ): while ( $the_query->have_posts() ): $the_query->the_post(); ?> <h2><?php tytuł_(); ?></h2> <div class="entry-content"> <?php zawartość_(); ?> </div> <?php koniec; wp_reset_postdata(); jeszcze: ?> <p><?php _e( 'Przepraszamy, nie ma postów spełniających twoje kryteria.' ); ?></p> <?php endif; ?>
Ten kod definiuje typ postu i liczbę postów na stronie w argumentach dla naszej nowej klasy WP_Query
. Następnie uruchamia zapytanie, pobiera posty i wyświetla je w pętli.
Wyświetlanie niestandardowych typów postów w widżetach
W tym przypadku możesz użyć wtyczki Custom Post Type Widgets.
Przejdź do WordPress admin panel > Appearance > Widgets
, a następnie przeciągnij i upuść widżet „Ostatnie posty (niestandardowy typ posta)” na pasek boczny.
Ten widżet umożliwia pokazywanie najnowszych postów z dowolnego typu postów. Musisz wybrać niestandardowy typ posta z listy rozwijanej Post Type
i wybrać żądane opcje.
Następnie upewnij się, że klikniesz przycisk „Aktualizuj” u góry ekranu, a następnie odwiedź swoją witrynę, aby zobaczyć widżet w akcji.
Oprócz niestandardowych typów postów wtyczka zapewnia widżety archiwum, kalendarz, kategorie, ostatnie komentarze, wyszukiwanie i chmurę tagów.
Cóż, to wszystko o wyświetlaniu niestandardowych typów postów.
Przejdźmy teraz do bardzo ważnej, ale interesującej sekcji dotyczącej zarządzania niestandardowymi typami postów w WordPressie.
Jak zarządzać setkami typów postów WordPress (w tym niestandardowymi typami postów) z jednego miejsca?
Teraz czeka Cię uczta.
Wraz z rozwojem Twojej firmy będą dostępne setki i tysiące pól danych do zarządzania z setek różnych typów postów. Czy to posty, strony, media, produkty WooCommerce, zamówienia, kupony, użytkownicy, członkostwo, subskrypcje…
Zarządzanie i edytowanie tych danych to koszmar, jeśli odwiedzasz każdy typ posta i wprowadzasz pojedynczą zmianę. Na pewno nie chcesz, abym wspominał tutaj o bólu edycji setek takich pól danych.
A co by było, gdybyś mógł zarządzać i edytować wszystkie te typy postów WordPress z jednego miejsca, używając znanego arkusza kalkulacyjnego podobnego do Excela?
Wtyczka Smart Manager jest zdecydowanie tym, czego potrzebujesz.
Zarządzaj setkami typów postów za pomocą Smart Managera (aplikacji)
Dzięki Smart Managerowi możesz sprawić
Wkrótce będziesz również w stanie dobrze zarządzać niestandardowymi taksonomiami.
Wybierz pulpit nawigacyjny dla typu wpisu, którym chcesz zarządzać, a następnie wprowadź wymagane zmiany.
Zarządzanie produktami typu post

Na przykład oto pulpit nawigacyjny dla typu wpisu o produkcie. W przypadku produktów możesz:
- Bezpośrednio edytuj stan zapasów, cenę regularną i sprzedaż, opis i inne szczegóły
- Dodaj nowe produkty bezpośrednio do siatki Smart Manager
- Zastosuj zaawansowane filtry wyszukiwania, aby uzyskać pożądane produkty, takie jak „produkty w przedziale cenowym od 100 do 200 USD”.
- Edytuj te sześćdziesiąt produktów zbiorczo, aby obniżyć cenę o 10%
- Usuń produkty testowe na stałe
- Duplikuj wszystkie swoje produkty lub na podstawie filtrów
- Eksportuj dane produktów do CSV
- Utwórz niestandardowy widok, taki jak pulpit nawigacyjny „dziennika giełdowego”
i dużo więcej…
Więcej informacji na temat operacji związanych z produktem można znaleźć w dokumentacji Smart Manager.
Zarządzanie zamówieniami, kuponami, subskrypcjami…
Wybierz pulpit nawigacyjny dla typu wpisu i rozpocznij edycję wszystkich pól, w tym pól niestandardowych, tak jak w przypadku produktów:
- Posty i strony – tytuł, obraz, aktualizacja statusu posta od wersji roboczej do publikacji itp.
- Zamówienia – zmień status, szczegóły rozliczeniowe, pola wysyłki, walutę itp.
- Kupony – modyfikuj wykorzystanie, kwotę, typ, datę ważności kuponu, usuń kupony itp.
- Użytkownicy (Klienci) — przeglądaj długoterminową wartość, edytuj szczegóły rozliczeń i wysyłki, modyfikuj dane uwierzytelniające itp.
- Media – tytuł, treść, fragment, autor, kolejność menu itp.
- Członkostwa – eksportuj wszystkie dane członkowskie, zbiorczo aktualizuj plany członkostwa, anuluj statusy członkostwa itp.
- Subskrypcje — reaktywuj lub anuluj zbiorczo subskrypcje, przedłuż bezpłatny okres próbny, zmniejsz opłatę rejestracyjną, dodaj opłaty za wysyłkę itp.
- Rezerwacje – edytuj cenę rezerwacji, przełóż, anuluj, wyeksportuj itp.
- Dodatkowe opcje produktu – Dodaj opcje wysyłki, dodaj opcje pakowania prezentów, pokaż opcje dostosowywania, sprzedaj wyższe plany itp.
- Dropshipping – zarządzaj dostawcami, cenami produktów, stanem zapasów itp.
- Wielu dostawców – dodawaj nowych dostawców, edytuj przesyłki, klasę podatkową, statusy prowizji, notatki klientów, zaznaczaj zamówienia itp.
- LMS – zarządzaj i edytuj kursy, lekcje, ich długość i poziom trudności, duplikuj kursy itp.
- Zaawansowane pola niestandardowe – dodawaj, edytuj i usuwaj wszystkie typy pól, takie jak miniatury, przyciski radiowe, pola wyboru, zakres, pliki itp.
i setki typów postów…
Dość elastyczny i fajny, prawda?
Wypróbuj demo na żywo
Wniosek
Mam nadzieję, że ten blog okazał się pomocny w nauce tworzenia niestandardowych typów postów w WordPress. Zaleca się korzystanie z wtyczki Custom Post Type UI, aby uniknąć kłopotów z kodowaniem. Ale uważaj na dezaktywację wtyczki.
Co więcej, użyj Smart Managera, aby łatwo zarządzać dowolnym rodzajem postów z jednego miejsca, jeśli nie chcesz być sfrustrowany zarządzaniem tak wieloma niestandardowymi typami postów.
Jestem pewien, że podziękujesz mi później.