Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak tworzyć niestandardowe typy postów w WordPress

Jeśli próbujesz używać zwykłych wpisów na blogu do wszystkiego – list produktów, referencji, elementów portfolio – prawdopodobnie zauważyłeś, jak szybko wszystko staje się mylącym bałaganem.

My też przez to przechodziliśmy. W WPBeginner używamy niestandardowych typów wpisów do takich rzeczy jak nasze sekcje Okazje i Słowniczek, dzięki czemu pozostają one oddzielone od naszych zwykłych artykułów na blogu.

Rozwiązanie jest proste: niestandardowe typy wpisów.

Niestandardowe typy postów pozwalają tworzyć dedykowane sekcje dla wszystkich Twoich treści. Oznacza to, że produkty, referencje lub portfolio mogą mieć własny układ i strukturę, całkowicie oddzielone od zwykłych wpisów na blogu i stron.

W tym przewodniku pokażemy Ci dwie metody tworzenia niestandardowych typów wpisów. W ten sposób możesz wybrać ten, który odpowiada Twojemu poziomowi komfortu i uporządkować swoje treści już dziś. 🗂️

Jak tworzyć niestandardowe typy postów w WordPress

Czym jest niestandardowy typ postu w WordPressie?

Niestandardowy typ posta to typ treści, który możesz utworzyć w WordPressie, różniący się od zwykłych postów i stron. Pozwala on na bardziej uporządkowane organizowanie i wyświetlanie unikalnych rodzajów treści, takich jak portfolio, produkty czy recenzje filmów.

Pomyśl o tym jak o posiadaniu uporządkowanych segregatorów na różne rodzaje treści, zamiast wrzucać wszystko do jednej szuflady.

Zanim zagłębimy się w niestandardowe typy wpisów, warto zrozumieć, że WordPress używa typów wpisów do rozróżniania różnych treści. Chociaż „wpis” i „strona” są najczęstszymi typami, domyślnie zawiera on kilka innych:

  • Post – dla wpisów na blogu
  • Strona – dla treści statycznych, takich jak strona O nas lub strona Kontakt
  • Załącznik – dla plików multimedialnych
  • Korekta – dla wersji roboczych i edycji treści
  • Nav Menu – dla pozycji menu

Niestandardowe typy wpisów pozwalają tworzyć dedykowane sekcje Twojej witryny WordPress dla określonych rodzajów treści.

Powiedzmy, że prowadzisz stronę z recenzjami filmów. Wtedy prawdopodobnie chciałbyś utworzyć typ posta „recenzje filmów”. Na stronie portfolio możesz utworzyć typ posta „Projekty”. Natomiast strona eCommerce skorzystałaby z typu posta „Produkty”.

📝 Uwaga od redakcji: W WPBeginner również korzystamy z niestandardowych typów postów. Używamy ich dla naszych sekcji Okazje i Słownik, aby oddzielić je od naszych artykułów na blogu.

Następnie każdy niestandardowy typ posta może mieć własny układ, niestandardowe pola, a nawet własną niestandardową strukturę kategorii lub tagów. To sprawia, że Twoja witryna jest bardziej uporządkowana i przyjazna dla użytkownika.

Ponadto wiele popularnych wtyczek WordPress używa niestandardowych typów postów do przechowywania danych na Twojej stronie WordPress. Poniżej znajduje się kilka najlepszych wtyczek, które używają niestandardowych typów postów:

  • WooCommerce dodaje typ posta „produkt” do Twojego sklepu internetowego
  • WPForms tworzy typ posta „wpforms”, aby przechowywać wszystkie Twoje formularze
  • MemberPress dodaje niestandardowy typ postu „memberpressproduct”

Czy potrzebuję tworzyć niestandardowe typy postów?

Zanim zaczniesz tworzyć niestandardowe typy postów na swojej stronie WordPress, ważne jest, aby ocenić swoje potrzeby. Często można osiągnąć te same wyniki za pomocą zwykłego postu lub strony.

Jeśli nie masz pewności, czy Twoja witryna potrzebuje niestandardowych typów postów, zapoznaj się z naszym przewodnikiem na temat kiedy potrzebujesz niestandardowego typu postu lub taksonomii w WordPressie.

Mając to na uwadze, przyjrzyjmy się, jak łatwo tworzyć niestandardowe typy postów w WordPressie dla własnej witryny. Pokażemy dwie metody, a także omówimy sposoby wyświetlania niestandardowych typów postów na Twojej stronie WordPress:

Gotowi? Zacznijmy.

Metoda 1: Ręczne tworzenie niestandardowego typu posta za pomocą WPCode

Tworzenie niestandardowego typu posta zazwyczaj wymaga dodania kodu do pliku functions.php Twojego motywu. Jednak nie zalecamy tego nikomu poza zaawansowanymi użytkownikami, ponieważ nawet najmniejszy błąd może zepsuć Twoją witrynę. Ponadto, jeśli zaktualizujesz swój motyw, kod zostanie usunięty.

Zamiast bezpośrednio edytować pliki motywu, pokażemy Ci, jak bezpiecznie dodać kod za pomocą WPCode – najlepszej wtyczki do dodawania niestandardowego kodu do Twojej witryny WordPress.

Dzięki WPCode możesz dodawać niestandardowe fragmenty kodu i aktywować wiele funkcji z jego wbudowanej, prekonfigurowanej biblioteki kodu. Innymi słowy, może zastąpić wiele dedykowanych lub jednorazowych wtyczek, które mogłeś zainstalować.

Poznaj wszystkie funkcje, które przetestowaliśmy w naszej szczegółowej recenzji WPCode.

Strona główna WPCode

📝 Uwaga: Darmowa wersja WPCode dobrze sprawdzi się w tym samouczku. Jednak jeśli chcesz odblokować zaawansowane funkcje, takie jak planowanie niestandardowych kodów i pełna historia rewizji, będziesz potrzebować WPCode Pro.

Najpierw musisz zainstalować i aktywować darmowy wtyczkę WPCode, przechodząc do Wtyczki » Dodaj nową. W swoim panelu WordPress.

Podmenu Dodaj wtyczkę pod Wtyczkami w obszarze administracyjnym WordPressa

Na następnym ekranie użyj paska wyszukiwania, aby znaleźć wtyczkę WPCode.

Po prostu kliknij „Zainstaluj teraz”, a następnie „Aktywuj”, aby włączyć ją na swojej stronie.

Instalacja WPCode

Szczegółowe instrukcje znajdziesz w naszym przewodniku krok po kroku na temat jak zainstalować wtyczkę WordPress.

Po aktywacji przejdź do Fragmenty kodu » Dodaj fragment.

WPCode dodaje niestandardowy fragment kodu

Następnie najedź kursorem myszy na „Dodaj swój niestandardowy kod (nowy fragment)” i kliknij „+ Dodaj niestandardowy fragment”.

W pojawiającym się wyskakującym okienku wybierz „Fragment PHP” jako typ kodu z listy opcji.

Wybierz opcję fragmentu PHP

Spowoduje to otwarcie strony „Utwórz niestandardowy fragment kodu”.

Teraz możesz dodać tytuł fragmentu kodu, który może być czymkolwiek, aby pomóc Ci zapamiętać, do czego służy ten kod.

Tworzenie niestandardowego fragmentu kodu dla niestandardowych typów postów za pomocą WPCode

Następnie po prostu wklej poniższy kod do obszaru „Podgląd kodu”.

Ten kod tworzy podstawowy niestandardowy typ posta o nazwie „Filmy”, który pojawi się w bocznym pasku administratora i będzie działał z każdym motywem WordPress.

// Our custom post type function
function create_posttype() {
 
    register_post_type( 'movies',
    // CPT Options
        array(
            'labels' => array(
                'name' => __( 'Movies' ),
                'singular_name' => __( 'Movie' )
            ),
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'movies'),
            'show_in_rest' => true,
 
        )
    );
}
// Hooking up our function to theme setup
add_action( 'init', 'create_posttype' );

Jeśli chcesz tylko podstawowy niestandardowy typ posta, po prostu zastąp ślimak movies i etykietę Movies własnym ślimakiem i nazwą CPT. Następnie kliknij przycisk „Aktualizuj” w WPCode.

Jednakże, jeśli chcesz jeszcze więcej opcji dla swojego niestandardowego typu posta, powinieneś użyć poniższego kodu zamiast powyższego.

Poniższy kod dodaje wiele więcej opcji do niestandardowego typu posta „Filmy”, takich jak obsługa rewizji, obrazów wyróżniających i niestandardowych pól, a także powiązanie niestandardowego typu posta z niestandardową taksonomią o nazwie „gatunki”.

Ważne: Nie łącz tych dwóch fragmentów kodu, ponieważ WordPress zwróci błąd, gdyż oba fragmenty rejestrują ten sam niestandardowy typ posta. Zalecamy utworzenie zupełnie nowego fragmentu kodu za pomocą WPCode dla każdego dodatkowego typu posta, który chcesz zarejestrować.

/* * Creating a function to create our CPT */   function custom_post_type() {   // Set UI labels for Custom Post Type     $labels = array(         'name'                => _x( 'Movies', 'Post Type General Name', 'your-theme-textdomain' ),         'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'your-theme-textdomain' ),         'menu_name'           => __( 'Movies', 'your-theme-textdomain' ),         'parent_item_colon'   => __( 'Parent Movie', 'your-theme-textdomain' ),         'all_items'           => __( 'All Movies', 'your-theme-textdomain' ),         'view_item'           => __( 'View Movie', 'your-theme-textdomain' ),         'add_new_item'        => __( 'Add New Movie', 'your-theme-textdomain' ),         'add_new'             => __( 'Add New', 'your-theme-textdomain' ),         'edit_item'           => __( 'Edit Movie', 'your-theme-textdomain' ),         'update_item'         => __( 'Update Movie', 'your-theme-textdomain' ),         'search_items'        => __( 'Search Movie', 'your-theme-textdomain' ),         'not_found'           => __( 'Not Found', 'your-theme-textdomain' ),         'not_found_in_trash'  => __( 'Not found in Trash', 'your-theme-textdomain' ),     );       // Set other options for Custom Post Type           $args = array(         'label'               => __( 'movies', 'your-theme-textdomain' ),         'description'         => __( 'Movie news and reviews', 'your-theme-textdomain' ),         'labels'              => $labels,         // Features this CPT supports in Post Editor         'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),         // You can associate this CPT with a taxonomy or custom taxonomy.          'taxonomies'          => array( 'genres' ),         /* A hierarchical CPT is like Pages and can have         * Parent and child items. A non-hierarchical CPT         * is like Posts.         */          'hierarchical'        => false,         'public'              => true,         'show_ui'             => true,         'show_in_menu'        => true,         'show_in_nav_menus'   => true,         'show_in_admin_bar'   => true,         'menu_position'       => 5,         'can_export'          => true,         'has_archive'         => true,         'exclude_from_search' => false,         'publicly_queryable'  => true,         'capability_type'     => 'post',         'show_in_rest' => true,       );           // Registering your Custom Post Type     register_post_type( 'movies', $args );   }   /* Hook into the 'init' action so that the function * Containing our post type registration is not  * unnecessarily executed.  */   add_action( 'init', 'custom_post_type', 0 );

Możesz zauważyć część, w której ustawiliśmy wartość hierarchiczną na false. Jeśli chcesz, aby Twój niestandardowy typ posta zachowywał się jak strony, a nie posty, możesz ustawić tę wartość na true.

Inną rzeczą, na którą warto zwrócić uwagę, jest powtarzające się użycie ciągu znaków your-theme-textdomain. Nazywa się to „domeną tekstową”. Jeśli Twój motyw jest gotowy do tłumaczenia i chcesz, aby Twoje niestandardowe typy postów były tłumaczone, musisz użyć domeny tekstowej zdefiniowanej przez Twój motyw.

Domenę tekstową swojego motywu można znaleźć w pliku style.css w katalogu motywu lub przechodząc do Wygląd » Edytor plików motywu w panelu administracyjnym. Domenę tekstową znajdziesz w nagłówku pliku.

Znajdowanie textdomain dla motywu

Po prostu zastąp your-theme-textdomain własną „domeną tekstową” Twojego motywu, dokładnie tak, jak pojawia się ona w nagłówku pliku style.css Twojego motywu.

Gdy będziesz zadowolony ze zmian, po prostu przełącz przełącznik z „Nieaktywny” na „Aktywny” u góry strony.

Na koniec kliknij przycisk „Zapisz fragment”, a WPCode zajmie się resztą.

Aktywuj i zapisz fragment w WPCode

🛑 Ważne: Po dodaniu tego kodu możesz przejść do Ustawienia » Linki bezpośrednie i po prostu kliknąć przycisk „Zapisz zmiany”, aby zaktualizować strukturę linków bezpośrednich.

Pomaga to WordPressowi rozpoznać zmiany i zapobiega uszkodzonym linkom.

Zapisywanie permalinków

Metoda 2: Tworzenie niestandardowego typu posta za pomocą wtyczki

Innym łatwym sposobem na stworzenie niestandardowego typu posta w WordPressie jest użycie wtyczki. Ta metoda jest zalecana dla początkujących, ponieważ jest bezpieczna i bardzo łatwa.

Pierwszą rzeczą, którą musisz zrobić, to zainstalować i aktywować wtyczkę Custom Post Type UI.

W swoim panelu WordPress przejdź do Wtyczki » Dodaj nową.

Podmenu Dodaj wtyczkę pod Wtyczkami w obszarze administracyjnym WordPressa

Następnie możesz użyć paska wyszukiwania, aby wyszukać wtyczkę Custom Post Type UI.

Kliknij „Zainstaluj teraz”, a gdy zostanie zainstalowana, kliknij „Aktywuj”.

Instalowanie wtyczki CPT UI

Więcej szczegółów znajdziesz w naszym przewodniku krok po kroku jak zainstalować wtyczkę WordPress.

Po aktywacji musisz przejść do CPT UI » Dodaj / Edytuj typy postów, aby utworzyć nowy niestandardowy typ posta. Powinieneś być w zakładce „Dodaj nowy typ posta”.

Utwórz nowy niestandardowy typ posta za pomocą wtyczki

W tym obszarze musisz podać slug dla swojego niestandardowego typu posta, na przykład „filmy”. Ten slug będzie używany w adresie URL i w zapytaniach WordPress, więc może zawierać tylko litery i cyfry.

Poniżej pola slug musisz podać nazwy mnogą i pojedynczą dla swojego niestandardowego typu posta.

Jeśli chcesz, możesz kliknąć link „Wypełnij dodatkowe etykiety na podstawie wybranych etykiet”. Spowoduje to automatyczne wypełnienie poniższych dodatkowych pól etykiet i zazwyczaj oszczędzi Ci to czasu.

Teraz możesz przewinąć w dół do sekcji „Dodatkowe etykiety”. Jeśli nie kliknąłeś podanego przez nas linku, będziesz musiał podać opis swojego typu posta i zmienić etykiety.

Przewiń w dół do sekcji Dodatkowe etykiety

Te etykiety będą używane w całym interfejsie użytkownika WordPress podczas zarządzania treścią w tym konkretnym typie postu.

Następnie przechodzimy do ustawień typu postu.

Stąd można ustawić różne atrybuty dla swojego typu postu. Każda opcja zawiera krótki opis wyjaśniający, co robi.

Przewiń w dół do sekcji Ustawienia typu postu

Na przykład możesz zdecydować, aby typ postu nie był hierarchiczny jak strony lub sortować posty chronologicznie w odwrotnej kolejności.

Poniżej ogólnych ustawień zobaczysz opcję wyboru funkcji edycji, które ten typ postu będzie obsługiwał. Po prostu zaznacz opcje, które chcesz uwzględnić.

Sprawdź opcje obsługi, które chcesz uwzględnić

Na koniec kliknij przycisk „Dodaj typ postu”, aby zapisać i utworzyć niestandardowy typ postu.

To wszystko, pomyślnie utworzyłeś swój niestandardowy typ posta!

Jednak zanim zaczniesz dodawać treści, jest jeszcze jeden krok.

Musisz przejść do Ustawienia » Permalinks i po prostu kliknąć przycisk „Zapisz zmiany”. Spowoduje to wyczyszczenie reguł nadpisywania i zapewni, że linki do Twojego nowego niestandardowego typu posta będą działać poprawnie bez błędów 404.

Zapisywanie permalinków

Dodatkowe wskazówki: Wyświetlanie niestandardowych typów postów na Twojej stronie

WordPress oferuje wbudowane wsparcie do wyświetlania Twoich niestandardowych typów postów. Gdy dodasz kilka elementów do swojego nowego niestandardowego typu postów, nadszedł czas, aby wyświetlić je na swojej stronie internetowej.

Istnieje kilka metod, których możesz użyć, a każda z nich ma swoje własne zalety.

Wyświetlanie niestandardowych typów postów przy użyciu domyślnego szablonu archiwum

Po pierwsze, możesz po prostu przejść do Wygląd » Menu i dodać niestandardowy link do swojego menu. Ten niestandardowy link to link do Twojego niestandardowego typu posta.

Dodaj niestandardowy link do swojego menu

🧑‍💻 Wskazówka Pro: Jeśli nie widzisz nowego niestandardowego typu posta na liście w lewej kolumnie, sprawdź zakładkę „Opcje ekranu” na samej górze strony i upewnij się, że pole obok Twojego typu posta jest zaznaczone.

Jeśli używasz przyjaznych dla SEO linków stałych, adres URL Twojego niestandardowego typu posta będzie najprawdopodobniej wyglądał mniej więcej tak:

http://example.com/movies

Jeśli nie używasz przyjaznych dla SEO permalinków, adres URL Twojego niestandardowego typu posta będzie wyglądał mniej więcej tak:

http://example.com/?post_type=movies

Nie zapomnij zastąpić „example.com” swoją własną nazwą domeny, a „movies” nazwą swojego niestandardowego typu postu.

Możesz następnie zapisać swoje menu i odwiedzić frontend swojej strony internetowej. Zobaczysz nową pozycję menu, którą dodałeś, a po jej kliknięciu wyświetli się strona archiwum Twojego niestandardowego typu posta, używając pliku szablonu archive.php z Twojego motywu. szablonu.

Podgląd elementu menu niestandardowego typu posta
Tworzenie szablonów niestandardowych typów postów

Jeśli nie podoba Ci się wygląd strony archiwum dla Twojego niestandardowego typu posta, możesz użyć dedykowanego szablonu dla archiwów niestandardowych typów postów.

Wszystko, co musisz zrobić, to utworzyć nowy plik w katalogu swojego motywu i nazwać go archive-movies.php. Ten szablon będzie kontrolować, jak wygląda lista wszystkich Twoich filmów. Po prostu upewnij się, że zastąpiłeś „movies” nazwą swojego niestandardowego typu posta.

Podobnie możesz utworzyć niestandardowy szablon dla wyświetlania pojedynczego wpisu Twojego typu posta (strona, którą ludzie widzą po kliknięciu konkretnego filmu). Aby to zrobić, musisz utworzyć single-movies.php w katalogu swojego motywu.

Aby rozpocząć, możesz skopiować zawartość pliku archive.php swojego motywu do szablonu archive-movies.php, a następnie zmodyfikować go zgodnie ze swoimi potrzebami.

Teraz, gdy zostanie uzyskana dostęp do strony archiwum Twojego niestandardowego typu postu, ten szablon zostanie użyty do jej wyświetlenia.

Podobnie możesz utworzyć niestandardowy szablon do wyświetlania pojedynczych wpisów swojego typu posta. Aby to zrobić, musisz utworzyć plik single-movies.php w katalogu swojego motywu. Nie zapomnij zastąpić „movies” nazwą swojego niestandardowego typu posta.

Możesz zacząć od skopiowania zawartości szablonu single.php Twojego motywu do szablonu single-movies.php, a następnie zmodyfikować go, aby spełniał Twoje potrzeby.

Aby dowiedzieć się więcej, zapoznaj się z naszym przewodnikiem na temat jak tworzyć niestandardowe szablony pojedynczych postów w WordPressie.

Wyświetlanie niestandardowych typów postów na stronie głównej

Jedną z zalet korzystania z niestandardowych typów postów jest to, że oddzielają one Twoje niestandardowe typy treści od zwykłych postów. Możesz jednak wyświetlać niestandardowe typy postów na stronie głównej swojej witryny, jeśli chcesz.

Po prostu dodaj ten kod jako nowy fragment za pomocą darmowej wtyczki WPCode.

Proszę, zobacz sekcję tego artykułu o ręcznym dodawaniu kodu, aby uzyskać szczegółowe instrukcje.

add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
 
function add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'movies' ) );
    return $query;
}

Nie zapomnij zastąpić „movies” swoim niestandardowym typem posta.

Wyszukiwanie niestandardowych typów postów

Jeśli znasz się na kodowaniu i chciałbyś uruchamiać zapytania pętli w swoich szablonach, oto jak to zrobić. Poprzez zapytanie do bazy danych możesz pobrać elementy z niestandardowego typu postów.

Musisz skopiować poniższy fragment kodu do szablonu, w którym chcesz wyświetlić niestandardowy typ posta.

<?php 
$args = array( 'post_type' => 'movies', 'posts_per_page' => 10 );
$the_query = new WP_Query( $args ); 
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?> 
</div>
<?php endwhile;
wp_reset_postdata(); ?>
<?php else:  ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

Ten kod definiuje typ posta i liczbę postów na stronę w argumentach naszej nowej klasy WP_Query. Następnie uruchamia zapytanie, pobiera posty i wyświetla je w pętli.

Nie zapomnij umieścić tego w odpowiednim pliku szablonu, takim jak archive-movies.php lub niestandardowy szablon strony, w zależności od tego, gdzie chcesz, aby lista się pojawiła.

Wyświetlanie niestandardowych typów postów w widżetach

Zauważysz, że WordPress ma domyślny widżet do wyświetlania najnowszych postów, ale nie pozwala na wybór niestandardowego typu postu.

Co jeśli chciałbyś wyświetlić najnowsze wpisy z nowo utworzonego typu postu w widżecie? Na szczęście jest na to prosty sposób.

Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i aktywowanie wtyczki Custom Post Type Widgets. Z panelu administracyjnego WordPressa przejdź do Wtyczki » Dodaj nową.

📝 Uwaga: Możesz zobaczyć ostrzeżenie, że ten wtyczka nie była ostatnio aktualizowana. Przetestowaliśmy ją na naszej własnej stronie i nadal działa dobrze. Jeśli nie masz pewności, możesz zapoznać się z naszą opinią na temat tego, czy bezpieczne jest używanie nieaktualnej wtyczki.

Podmenu Dodaj wtyczkę pod Wtyczkami w obszarze administracyjnym WordPressa

Następnie użyj paska wyszukiwania, aby znaleźć wtyczkę.

Kliknij „Zainstaluj teraz”, a po zakończeniu instalacji kliknij „Aktywuj”.

Instalowanie widżetu niestandardowego typu postu

Więcej szczegółów znajdziesz w naszym przewodniku krok po kroku na temat jak zainstalować wtyczkę WordPress.

Po aktywacji przejdź do Wygląd » Widżety.

Jeśli korzystasz z nowoczesnego ekranu widżetów opartego na blokach, kliknij przycisk „+” dodaj blok i wyszukaj „Najnowsze wpisy (Niestandardowy typ wpisu)”, aby dodać go do swojego paska bocznego. Jeśli korzystasz z widżetów klasycznych, możesz po prostu przeciągnąć i upuścić widżet na miejsce.

Widżet ostatniego niestandardowego typu posta

Ten widżet pozwala na wyświetlanie najnowszych postów z dowolnego typu postu. Musisz wybrać swój niestandardowy typ postu z listy rozwijanej „Typ postu” i wybrać opcje, które chcesz.

Po tym upewnij się, że klikniesz przycisk „Zaktualizuj” u góry ekranu, a następnie odwiedź swoją witrynę, aby zobaczyć widżet w akcji.

Podgląd widżetu niestandardowego typu posta

Wtyczka zapewnia również widżety niestandardowych typów postów, które wyświetlają archiwa, kalendarz, kategorie, ostatnie komentarze, wyszukiwanie i chmurę tagów.

Dlatego śmiało eksploruj i wybierz ten, którego potrzebujesz.

Widżet archiwów niestandardowych typów postów

🧑‍💻 Wskazówka: Jeśli używasz motywu blokowego, nie potrzebujesz widżetów. Możesz przejść do Wygląd » Edytor i użyć bloku „Pętla zapytań”, aby wizualnie wyświetlić swoje niestandardowe typy postów w dowolnym miejscu na swojej stronie.

Najczęściej zadawane pytania (FAQ): Niestandardowe typy postów WordPress

Oto niektóre z najczęściej zadawanych pytań dotyczących tworzenia niestandardowych typów postów w WordPress.

Jaka jest różnica między niestandardowym typem postu a kategorią?

Niestandardowy typ posta służy do tworzenia zupełnie nowego rodzaju treści, podczas gdy kategoria służy do grupowania istniejących treści. Na przykład „Recenzje książek” byłyby niestandardowym typem posta. „Fikcja” i „Non-Fiction” byłyby kategoriami do organizacji tych recenzji książek.

Czy usunięcie niestandardowego typu posta usunie również całą jego zawartość?

Nie, treść nie jest usuwana z bazy danych, ale stanie się ukryta i niedostępna. Aby ponownie udostępnić posty, musisz ponownie zarejestrować niestandardowy typ posta o dokładnie tej samej nazwie.

Zawsze zalecamy wykonanie pełnej kopii zapasowej WordPress przed usunięciem typów postów.

Jak dodać niestandardowe pola do mojego niestandardowego typu posta?

Możesz łatwo dodawać niestandardowe pola, aby dodać bardziej ustrukturyzowane informacje do swoich typów postów, na przykład dodając pole „Reżyser” do typu posta „Filmy”. Możesz to zrobić za pomocą kodu lub użyć popularnego wtyczki, takiej jak Advanced Custom Fields (ACF), aby uzyskać przyjazny interfejs użytkownika.

Samouczek wideo – Jak tworzyć niestandardowe typy postów w WordPress

Zanim odejdziesz, koniecznie obejrzyj nasz samouczek wideo, jak tworzyć niestandardowe typy postów w WordPress.

Subskrybuj WPBeginner

Więcej poradników na temat zarządzania postami i stronami w WordPressie

Mamy nadzieję, że ten samouczek pomógł Ci dowiedzieć się, jak tworzyć niestandardowe typy postów w WordPress. Następnie możesz również chcieć dowiedzieć się:

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

134 CommentsLeave a Reply

  1. Masz błąd składni w swoim drugim (bardziej szczegółowym) przykładzie, kod nie działa w najnowszym Wordpress 7.4.3

    ) Ostrzeżenie: call_user_func_array() oczekuje parametru 1 jako prawidłowej funkcji zwrotnej, funkcja 'custom_post_type' nie została znaleziona lub nazwa funkcji jest nieprawidłowa

    Czy jest szansa na aktualizację / poprawkę?

  2. Czy przecinek na końcu tablicy supports (w opcjach niestandardowego typu posta) jest celowy?

    • Na linii 31? Tak, to normalny kod PHP.
      „Przecinek po ostatnim elemencie tablicy jest opcjonalny i można go pominąć. Zwykle robi się to w przypadku tablic jednoliniowych, tj. preferowane jest array(1, 2) zamiast array(1, 2, ). Z drugiej strony, w przypadku tablic wieloliniowych, przecinek końcowy jest powszechnie używany, ponieważ ułatwia dodawanie nowych elementów na końcu.”

  3. Jak włączyć „Ustawienia postu” w Custom_Post_type (za pomocą wtyczki Custom Post Type UI)?

  4. Witam, mam problemy z tym pluginem.

    Wyłączyło opcję tworzenia kategorii i tagów,
    Szukałem przykładu, jak umieścić je ręcznie, ale nadal nic nie znalazłem.

    Próbuję cofnąć, czy tą metodą mogę naprawić problem, ale byłbym bardzo wdzięczny za pomoc.

    • W tablicy $args, w indeksie ‘taxonomies’, dodaj ‘category’ i ‘post_tag’.
      To powinno załatwić sprawę.

    • Dlatego używam własnego CMS-a, gdzie mogę tworzyć nowe typy postów w ułamku sekundy bezpośrednio przez sam CMS. Bez żadnego kodowania, niestety duże agencje chcą programistów WordPress i muszę się go nauczyć, wydaje się tak skomplikowane..

  5. Cześć, udało mi się wyświetlić grupę CPT z określonym projektem w wyskakującym okienku po kliknięciu na obrazek, jak ten pierwszy. Ale otwiera się nowa strona i po kliknięciu poza wyskakującym okienkiem, aby je zamknąć, nie wracasz do strony głównej, a tego nie chcę. Chcę wszystko na stronie głównej.

    Umieściłem kod CPT do wyświetlania jako wyskakujące okienko w „single-chg_projet.php” i otwieram oraz zamykam wyskakujące okienko za pomocą javascript. Już próbowałem umieścić cały kod z single-chg_projet.php w index, ale nic nie wyświetla. Albo gdzieś się pomyliłem. Proszę o pomoc. Dziękuję

  6. Cześć,

    Dzięki za świetny kod. Tylko drobna korekta kodu. Brakuje instrukcji endwhile; przed instrukcją else: w sekcji Querying Custom Post Types =)

    • DOKŁADNIE! Proszę zaktualizuj swój kod, aby odzwierciedlał ten błąd składni, ponieważ sprawił mi sporo kłopotów, dopóki nie znalazłem komentarza Ghulama. Teraz działa.

  7. hej, czy możesz mi pomóc w procesie tworzenia niestandardowego glosariusza, takiego jak masz na swojej stronie?

  8. jak sklonować typ posta, który ma w nim specyficzną tabelę, muszę utworzyć osobny typ posta dla innych tabel.

  9. Pobrałem wtyczkę i chcę dodać dwa niestandardowe typy postów. 1. Fanfiction dla wszystkich moich tekstów i 2. Fanart dla wszystkich moich dzieł sztuki.

    Dla Fanfiction – Chcę mieć możliwość łączenia rozdziałów w opowieść i możliwość przesyłania rozdziałów do opowieści w miarę pisania.

    W przypadku fanartów – chciałbym, aby główny nacisk położony był na obraz (oczywiście) z opisem pod nim

    Czy ten artykuł jest tym, czego potrzebuję, czy to coś zupełnie innego?

    Dziękuję,
    Megan

  10. Cześć,

    Po prostu skopiowałem kod do pliku functions.php mojej witryny. Nowy typ postu jest widoczny w panelu, ale kiedy próbuję zobaczyć post po jego opublikowaniu, pojawia się pusta strona. Później zdałem sobie sprawę, że nawet domyślne posty się nie otwierają.

    Kiedy usuwam kod z functions.php, wszystko ponownie działa poprawnie.

    Please help :(

    Dzięki,

    Zubair Abbas

    • Jeśli widzisz pustą stronę, często oznacza to, że zapomniałeś znaku. Fakt, że widzisz posty po usunięciu niestandardowego kodu, potwierdza, że masz literówkę. Sprawdź średniki ” ; ” oraz nawiasy otwierające i zamykające.
      Aby zobaczyć dokładnie, gdzie popełniłeś błąd, możesz edytować plik wp-config. Szukaj ERROR REPORTING i ustaw tę wartość na true. Następnie przetestuj ponownie, a otrzymasz błąd i linię z pominięciem.

  11. Stworzyłem CPT i działa pięknie, ale Google nie może go znaleźć, nawet po zaktualizowaniu map witryn, użyciu wtyczek SEO lub pobraniu w Google Webmaster Tools. Czy masz jakieś przemyślenia, dlaczego tak się dzieje?

    • Potrzeba trochę czasu, aby Google zaczął wyświetlać nową treść w wynikach wyszukiwania. Dla pewności sprawdź ustawienia swojego wtyczki SEO, aby upewnić się, że nie blokujesz indeksowania swoich CPT lub stron archiwum CPT.

      Admin

  12. Tworzenie niestandardowych typów wpisów może być łatwe, zwłaszcza z wtyczką. Prawdziwym wyzwaniem jest pokazanie ich na stronie. Zazwyczaj potrzebujesz dość zaawansowanego niestandardowego rozwoju lub wtyczek specyficznych dla motywu, takich jak ta dla Avada.

    Niestety nie ma uniwersalnego sposobu wyświetlania CPT w WordPress.

    • Jak powiedział autor, ale powtórzę odpowiedź.
      Krótko mówiąc, utwórz link w swoim menu nawigacyjnym
      Zaawansowana odpowiedź w skrócie: utwórz stronę archiwum i stronę pojedynczą

  13. Świetny artykuł. Jak można zmodyfikować informacje o pojedynczym poście CPT na podstawie niestandardowej taksonomii? Na przykład:

    Data | Autor | Seria | Książka | Temat

    To jest łatwe do napisania, ale chcę dowiedzieć się, jak wyświetlić zmodyfikowane informacje o poście, jeśli brakuje jednej z taksonomii Serii, na przykład:

    Data | Autor | Książka | Temat

    W przeciwnym razie domyślne informacje o poście wyświetlają się jako:

    Data | Autor | | Książka | Temat

  14. Chcę wyświetlić posty z określonej kategorii dla bieżącego użytkownika na stronie. Jak mogę to zrobić?

  15. Drogi,

    Dzięki za post. Chcę stworzyć bibliotekę ebooków i chcę użyć niestandardowego typu posta oraz portfolio, aby wyświetlać miniatury książek na froncie. Czy możesz mi doradzić, jak mogę to zrobić?

  16. Witajcie wszyscy,
    To świetna wtyczka. Próbuję sprawić, by taksonomia wyświetlała się na stronie. Utworzyłem jedną o nazwie Prelegenci. Możesz ją zobaczyć tutaj.

    Jak mogę to osiągnąć?

    Dziękuję

  17. Cześć,
    Stworzyłem formularz (przy użyciu wtyczki ArForms), który potrzebuję przekształcić w typ posta. Czy masz jakieś sugestie, jak to zrobić, proszę?

    Dziękuję.

  18. Dziękuję za to, dokładnie tego potrzebowałem, aby zrozumieć niestandardowe typy postów.

    Mark.

  19. Dziękuję! Dokładnie tego szukałem. Niesamowite, ile razy znajduję obejścia WordPressa, a potem zapominam, jak je robię i muszę ciągle wracać.

    Bardzo doceniam!

  20. Drogi,

    Nie mam dużej wiedzy o kodowaniu. Jak mogę zobaczyć na konkretnej stronie te niestandardowe typy wpisów i taksonomie?

    Dziękuję z góry!
    MELAS

  21. Witaj,
    Dziękuję za ten piękny tutorial.
    Zrobiłam wszystko tak, jak mówiłeś.
    Dwie rzeczy, których nie rozumiem:
    1.
    Określiłeś taksonomię „gatunek”. Gdzie jest ona skonfigurowana? Co jeśli chcę stworzyć rzeczywiste gatunki pod nią? Jak je stworzyć? Gdzie je zobaczyć?
    2.
    Chciałabym stworzyć linki w menu do „Filmów”, a pod nimi – podlinki do „Gatunków”. Widzę „Filmy” w sekcji Menu, każdy post, jak strony. Tak naprawdę tego nie potrzebuję, ale nie będę narzekać. Jak zobaczyć tam „Gatunki”?
    Dziękuję,
    Vera

    • Wygląda na to, że pomyślnie utworzyłeś swój niestandardowy typ posta, czyli Filmy. Następnym krokiem jest utworzenie niestandardowej taksonomii, Gatunki. Taksonomia to sposób sortowania treści w WordPressie. Kategorie i tagi to dwie domyślne taksonomie, które są wbudowane w WordPress i domyślnie powiązane z „Postami”. Zapoznaj się z naszym tutorialem na temat tworzenia niestandardowych taksonomii w WordPressie. Postępuj zgodnie z instrukcjami w tym tutorialu, aby utworzyć niestandardową taksonomię Gatunki i powiązać ją z typem posta filmy. Twoja niestandardowa taksonomia pojawi się poniżej menu Filmy w obszarze administracyjnym WordPressa.

      Admin

  22. Robię to wszystko, ale kiedy chcę opublikować post tego typu, moje typy postów przekierowują na stronę główną (po prostu skopiowałem twój kod bez żadnych zmian)
    na przykład piszę ten post z typem postu Filmy

    proszę pomóż mi, uwielbiam typ postu, ale nie mogę go poprawnie używać

  23. cześć, próbuję dodać fragment kodu dla typu posta film… skopiowałem go do functions.php, ale po odświeżeniu strony nic się nie wyświetla. używam motywu twenty fourteen… co może być nie tak?

  24. Cześć, niestandardowe typy postów na mojej stronie WordPress działały dobrze przez ostatnie 2 lata. Ale stało się coś takiego, że kiedy zmieniam tytuł posta i klikam aktualizuj, zapisuje również inne zmiany. Ale jeśli zostawię tytuł posta bez zmian i wprowadzę zmiany w poście, nie zapisuje ich. Jakieś rekomendacje proszę?

  25. Chcę utworzyć niestandardowy typ posta kupony z opcją ujawnienia kodu kuponu, a kod będzie linkował do adresu URL sklepu. Czy możesz mi powiedzieć, jak mogę to zrobić. Nie mam dużej wiedzy o kodowaniu.

    • jest jednym z argumentów ($args) podczas definiowania niestandardowego typu posta.
      Dodaj „menu-icon” => „dashicons-cart” do listy $args.
      WordPress używa wbudowanych ikon dashicons, ale możesz również użyć własnych ikon.
      Więcej informacji pod tym linkiem:

  26. Cześć, fragment i dane pól niestandardowych nie wyświetlają się na froncie… czy masz pomysł, dlaczego tak się dzieje?

  27. Zapomniałem wspomnieć, najlepiej za pomocą kodu dla mojego pliku functions.php, ponieważ tam są zdefiniowane CPT curernet.

  28. Szukam sposobu na dodanie kategorii do istniejących niestandardowych typów postów. Czy ktoś może mnie skierować we właściwym kierunku?

    • Możesz dodać nowe taksonomie do istniejącego typu postu (niestandardowego lub nie) po prostu wypełniając odpowiedni typ postu podczas pisania funkcji do jego tworzenia. Kategoria to po prostu nazwa taksonomii, która obejmuje wszystkie posty z daną kategorią.
      Jeśli chcesz utworzyć nową kategorię, po prostu kliknij na kategorię w menu i utwórz nową.
      Przykłady kategorii to "Łodzie", jeśli twój post dotyczy łodzi, lub "Samoloty", jeśli twój post dotyczy samolotów. Możliwe jest również dodanie większej liczby kategorii, po prostu wybierz je lub dodaj w prawym bocznym pasku podczas pisania nowego postu lub edycji istniejącego.
      Typ postu nie jest przypisany ani powiązany z konkretną kategorią, post jest.

  29. Próbowałem właśnie użyć fragmentu kodu pod
    Zapytania niestandardowych typów postów,
    i okazało się, że potrzebuje on przed resetem.

  30. Thanks for the clean handy article
    I just want to use the text editor in the custom post
    so that I can use html tags,

  31. dzięki za tak świetny, przejrzysty tutorial
    ale mam problem z wyświetlaniem CPT używam przyjaznych dla SEO permalinków, kiedy kieruję na moją stronę/filmy, CPT są zduplikowane

  32. Bardzo przydatne! Dziękuję.

    Chciałbym dodać do każdego tagu moich postów jeden z następujących znaków: +, -, +/-. Czy mogę?

    Jeśli tak, to chciałbym mieć możliwość reprezentowania podpisanych tagów w następujący sposób: wszystkie tagi +, wszystkie tagi -, wszystkie tagi +/-.

    Chyba kwestionuję wiele rzeczy.

  33. Cześć,

    Mam problem z poprawnym zaimplementowaniem niestandardowego typu posta. Długo szukałem rozwiązania, ale nic nie znalazłem. Oto co zrobiłem:

    1. Świeżo zainstalowany WordPress na moim lokalnym serwerze WAMP (najpierw włączony moduł `rewrite_module` Apache).

    2. Używanie domyślnego motywu (twenty fourteen). Brak zainstalowanych wtyczek.

    3. Zmieniono permalinki na „Nazwa wpisu”

    4. W folderze wtyczek utworzyłem folder o nazwie pr_custom_posts, a w nim plik o nazwie pr_custom_posts.php. W pliku utworzyłem niestandardowy typ posta. Kod wygląda następująco:

    register_post_type();

    //flush_rewrite_rules();

    }

    public function register_post_type () {

    $args = array(

    'etykiety' => tablica (

    ‘name’ => ‘Filmy’,

    ‘singular_name’ => ‘Film’,

    ‘add_new’ => ‘Dodaj nowy film’,

    ‘add_new_item’ => ‘Dodaj nowy film’,

    ‘edit_item’ => ‘Edytuj film’,

    ‘new_item’ => ‘Dodaj nowy film’,

    ‘view_item’ => ‘Zobacz film’,

    ‘search_items’ => ‘Szukaj filmów’,

    ‘not_found’ => ‘Nie znaleziono filmów’,

    ‘not_found_in_trash’ => ‘Nie znaleziono filmów w koszu’

    ),

    ‘query_var’ => ‘movies’,

    `rewrite` => array (

    ‘slug’ => ‘filmy/’,

    ‘with_front’=> false

    ),

    ‘public’ => true,

    `publicly_queryable` => true,

    ‘has_archive’ => true,

    ‘menu_position’ => 10,

    ‘menu_icon’ => admin_url().’/images/media-button-video.gif’,

    ‘supports’ => array (

    'tytuł',

    ‘thumbnail’,

    ‘edytor’

    )

    );

    register_post_type(‘jw_movie’, $args);

    //flush_rewrite_rules();

    }

    }

    add_action(‘init’, function() {

    new PR_Movies_Custom_Post();

    //flush_rewrite_rules();

    });

    ?>

    Dobra rzecz: CPT wyświetla się w moim panelu administracyjnym i mogę tam dodawać i przeglądać filmy.

    PROBLEM: Nie mogę podglądać filmów na froncie (klikając „view” w CPT w panelu administratora). Wyświetla się na froncie tylko wtedy, gdy ustawiam permalink na domyślny (http://localhost/wp02/?p=123).

    Co próbowałem:

    1. Przejdź do linku stałego, ustawienia linku stałego pozostaw na „Nazwa wpisu” i zapisz zmiany.

    2. Użyj flush_rewrite_rules() w kilku miejscach (po jednym) w moim kodzie. Proszę zobaczyć zakomentowane części w powyższym kodzie.

    3. Utworzono pozycję menu jako:

    URL: http://localhost/wp02/movies

    Etykieta nawigacji: Filmy

    Tworzy to element menu na froncie, ale pokazuje „Nie znaleziono”, gdy kliknięty zostanie link „Filmy”.

    To doprowadza mnie do szału. Czy ktoś może mi w tym pomóc? Byłbym bardzo wdzięczny.

    • Też wariowałem z tym samym problemem „Nie znaleziono”, dopóki nie spróbowałem tego: przejdź do Ustawienia > Permalinks, a następnie ponownie zapisz swoje ustawienia. Zmieniłem moje ustawienie na Domyślne, a następnie zmieniłem je na Nazwa wpisu (dla potrzeb mojego projektu). Po tym linki działały zgodnie z oczekiwaniami.

  34. Innym prostym sposobem jest po prostu skopiowanie archive.php i zmiana nazwy na archive-movies.php, a także dla single.php -> single-movies.php

    Następnie możesz wprowadzić zmiany w plikach php swojego motywu.

    Z poważaniem

  35. Cześć, czytam i śledzę Twoje posty od tak dawna, jesteś niesamowity i celujesz w te brakujące rzeczy dla początkujących… Dziękuję.

  36. This plugin should be okay, but after every upgrade they’ve got some bug. Due to exporting field, or while migrating from local to remote etc… So It’s better to hand-write the code and put into functions.php :D

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.