
💡 Kuidas luua kohandatud postitüüpi WordPressis: kood ja plugin
Tavalised postitused ja lehed katavad enamiku tüüpilise veebisaidi vajadustest. Aga kui mängu tulevad tootekataloog, kinnisvara andmebaas või projektiportfell, ei piisa neist kahest sisutüübist enam. Toodete segamine blogi mustanditega on ebamugav ning lehtede ülekoormamine kohandatud väljadega on tee administraatori paneeli kaosesse.
WordPress lahendab selle probleemi Custom Post Types, Custom Post Types (CPT) abil. Sa lood külgmenüüsse eraldi jaotise, millel on oma väljad, kategooriad ja kuvamismallid. Tooted elavad artiklitest eraldi. Sündmused ei segune lehtedega. Andmed püsivad seal, kuhu nad kuuluvad.
Allpool on kaks testitud meetodit: koodi abil, kasutades register_post_type() (paindlik, null lisamoodulit) ja tasuta mooduli CPT UI abil (PHP-d pole vaja). Mõlemad töötavad WordPress 6.7+ versioonil ja neid on testitud tootmissaitidel.
💡 Kiirülevaade:
- Registreeri uus postituse tüüp põhifunktsiooni
register_post_type()kaudu, ilma mooduliteta, täieliku kontrolliga parameetrite üle. - Koodivaba alternatiiv: Custom Post Type UI moodul pakub visuaalset liidest, madaldab sisenemisbarjääri ja välistab süntaksivead.
- Pärast registreerimist ilmub tüüp külgmenüüsse. Viimased lihvid: taksonoomiad, väljad ja püsilinkide tühjendamine.
Mis on kohandatud postituse tüüp
Igasugune sisu WordPressis on kirje, millel on post_type väli wp_posts tabelis. Blogipostituste puhul on see post. Lehtede puhul on see page. Manuste puhul on see attachment. Kohandatud tüüp lisab veel ühe väärtuse: product toodetele, event sündmustele, portfolio projektidele. Mida iganes sinu sait vajab.
Iga CPT saab administraatori paneelis oma menüüelemendi, URL-i struktuuri (/events/webinar-2026/), oma taksonoomiad ja toe vajalikele redaktori plokkidele: pisipildid, väljavõtted, redaktor, kommentaarid. Kõik see lülitatakse sisse märkeruutude kaudu massiivis supports, ilma igasuguse maagiata.
Peamine eelis on organiseeritus. Tooted ei hõlju blogivoos ringi. Sündmusi ei pea üldisest kuhjast välja filtreerima. Administreerimine kiireneb ja saidiotsing töötab täpsemalt.
Meetod 1: registreerimine koodi abil, register_post_type()
Põhiline meetod, mis on töötanud alates WordPress 3.0-st. Kolmanda osapoole mooduleid pole vaja. Kood läheb sinu alamteema functions.php faili või, turvalisemalt, Code Snippets mooduli kaudu: koodiviga ei jookse saiti kokku, vaid lihtsalt keelab selle konkreetse jupi.
Samm 1: funktsioon init konksul
Funktsioon haakub init külge. Varem ei tööta, sest tuum pole veel valmis registreerimisi vastu võtma. Hiljem tähendab, et tüüpi ei tuvastata enne järgmist päringut. Siin on minimaalne töötav mall:
1 /** 2 * Registers a custom post type 'Books'. 3 * Place in functions.php of the child theme or via Code Snippets. 4 */ 5 function myprefix_register_book_post_type() { 6 register_post_type( 'book', array( 7 'labels' => array( 8 'name' => 'Books', 9 'singular_name' => 'Book', 10 'add_new_item' => 'Add New Book', 11 'edit_item' => 'Edit Book', 12 'view_item' => 'View Book', 13 'search_items' => 'Search Books', 14 'not_found' => 'No books found', 15 ), 16 'public' => true, 17 'has_archive' => true, 18 'rewrite' => array( 'slug' => 'books' ), 19 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ), 20 'show_in_rest' => true, 21 'menu_icon' => 'dashicons-book-alt', 22 ) ); 23 } 24 add_action( 'init', 'myprefix_register_book_post_type' );
Pärast koodi sisestamist ilmub administraatori paneeli jaotis „Books". Kirjete URL-id muutuvad kujule site.ru/books/book-name/. See töötab kohe.
Samm 2: peamised parameetrid
Funktsioon võtab kaks argumenti: tüübi võtme sõne (kuni 20 tähemärki, ladina tähed ja sidekriipsud) ja seadete massiivi. Siin on parameetrid, mida tasub teadlikult seadistada:
Parameeter | Mida see teeb | Soovitus |
|---|---|---|
| Nähtavus administraatoris ja esiosas |
|
| Arhiivileht kõigile selle tüübi kirjetele |
|
| URL-i struktuur (nimetähis) | Määra selgelt, ilma erimärkideta |
| Redaktori plokid | Miinimum: |
| Saadavus plokkredaktoris |
|
| Ikoon külgmenüüs | Vali Dashicons hulgast |
Samm 3: taksonoomiad
Postituste kategooriad ja märksõnad ei ole vaikimisi sinu CPT külge kinnitatud. Loo omaenda:
1 function myprefix_register_book_taxonomies() { 2 register_taxonomy( 'genre', 'book', array( 3 'label' => 'Genres', 4 'rewrite' => array( 'slug' => 'genre' ), 5 'hierarchical' => true, 6 'show_in_rest' => true, 7 ) ); 8 9 register_taxonomy( 'book_tag', 'book', array( 10 'label' => 'Book Tags', 11 'rewrite' => array( 'slug' => 'book-tag' ), 12 'hierarchical' => false, 13 'show_in_rest' => true, 14 ) ); 15 } 16 add_action( 'init', 'myprefix_register_book_taxonomies' );
Taksonoomiad registreeritakse register_taxonomy() kaudu, selge sidumisega post_type külge teise parameetrina. hierarchical => true annab kategooriatele sarnase puustruktuuri. false annab märksõnadele sarnase lameda nimekirja.
Samm 4: püsilinkide tühjendamine
Pärast registreerimist mine Seaded → Püsilingid ja klõpsa „Salvesta muudatused", isegi kui sa pole midagi muutnud. WordPress ehitab marsruutimise reeglid uuesti üles. Ilma selle sammuta tagastavad URL-id nagu /books/ 404 vea.
Millal koodist piisab
See meetod töötab hästi ühe või kahe kohandatud tüübi puhul, kui struktuur ei muutu sageli. Pluss: null lisamoodulit ja täielik kontroll iga parameetri üle. Miinus: keerukate seoste puhul mitme CPT ja esiosa esitamisvormide vahel kasvab kood kiiresti.
Meetod 2: ilma koodita, Custom Post Type UI moodul
Kui sa ei taha functions.php puutuda, paigalda Custom Post Type UI. Tasuta moodul WebDevStudiosilt: miljon aktiivset paigaldust, hinnang 4.6 WordPress.org-is. Uuendatud mais 2026, testitud kuni WP 7.0.

Kuidas luua CPT läbi liidese
- Paigalda moodul: Moodulid → Lisa uus → „Custom Post Type UI" → Paigalda → Aktiveeri.
- Mine CPT UI → Lisa/Muuda postituse tüüpe.
- Täida väljad: Post Type Slug (ladina tähed, näiteks
event), Plural Label („Events"), Singular Label („Event"). - Plokis Settings märgi: Public (True), Has Archive (True), Show in REST API (True).
- Plokis Supports märgi vähemalt: Title, Editor, Thumbnail, Excerpt.
- Klõpsa Add Post Type.
Taksonoomiad luuakse samas kohas, vahekaardil Add/Edit Taxonomies. Määra sidumine oma postituse tüübiga ja kategooriad ilmuvad külgmenüüsse.
Tugevused
Kiire registreerimine ilma süntaksivigade riskita: moodul koostab korrektse $args massiivi ise. Vahekaart Tools võimaldab tüüpide migreerimist saitide vahel koodi ekspordi ja impordi kaudu. CPT UI Pro lisab plokid esiosa väljundiks ja lohistatavad veerud administraatori paneelis, kuid tasuta versioon katab registreerimise ülesande täielikult.
Pane tähele, et moodul registreerib ainult tüübid ja taksonoomiad. Esiosa kuvamiseks on sul vaja kas teema malle, CPT UI Pro-d või kombinatsiooni Advanced Custom Fields või Elementoriga.
Võrdlus: kood versus moodul
Kriteerium | Kood ( | Moodul (CPT UI) |
|---|---|---|
Sisenemisbarjäär | Nõuab PHP massiivide mõistmist | Liides sarnaneb tavaliste WP seadetega |
CPT-de arv | Piiramatu | Piiramatu |
Ülekanne saitide vahel | Kopeeri kood | Eksport/import läbi Tools |
Lisakood saidil | Puudub | Pluss üks moodul |
Mooduli sõltuvus | Puudub | Jah, CPT UI peab olema aktiivne |
Dokumentatsioon |
Praktikas kasutatakse sageli kombinatsiooni: registreeri tüübid CPT UI kaudu kiiruse huvides ja lisa väljad Advanced Custom Fields abil. See annab sulle visuaalse seadistusliidese ilma ühegi PHP reata.
⁉️🤔 Korduma kippuvad küsimused
Kas ma pean pärast CPT loomist püsilinke tühjendama?
Jah, alati. Mine Seaded → Püsilingid ja klõpsa „Salvesta". WordPress ehitab marsruutimise reeglid uuesti üles. Ilma selleta tagastavad uued URL-id nagu
/books/404 vea.
Kuidas erineb CPT UI ACF-ist tüüpide registreerimisel?
CPT UI registreerib ainult postituse tüübid ja taksonoomiad. ACF, alates versioonist 6.1, oskab samuti CPT-sid registreerida, kuid selle peamine tugevus on kohandatud väljad. CPT UI + ACF kombinatsioon annab sulle liidese tüüpide ja paindlike väljade jaoks. Sa ei ole lukustatud ühe tarnija külge.
Kas ma saan olemasoleva postituse tüübi ümber nimetada?
Otsest mehhanismi pole. Kui muudad andmebaasis
post_typeväärtust, kaovad vanad kirjed administraatori paneelist. Õige lähenemine: loo uus tüüp soovitud nimega, migreeri kirjed SQL-päringugaUPDATE wp_posts SET post_type = 'new_type' WHERE post_type = 'old_type'ja alles siis eemalda vana registreering. Täielik andmebaasi varukoopia enne migreerimist on kohustuslik.
Kas kohandatud tüübid kaovad teema vahetamisel?
Kui tüübid on registreeritud teema
functions.phpfailis, siis jah, teema vahetamisel kaovad need administraatori paneelist. Kirjed jäävad andmebaasi alles, kuid ei ole nähtavad. Registreeri CPT-d eraldi moodulis või Code Snippets kaudu ja tüübid jäävad püsima igasuguse teemavahetuse korral.
Kuidas kuvada CPT-d avalehel üldises voos?
Lisa filter Code Snippets-is:
add_filter( 'pre_get_posts', function( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'post_type', array( 'post', 'book' ) ); } } );. Asenda massiivis omapost_typeja kirjed ilmuvad voogu koos tavaliste postitustega.
Millist meetodit valida: lõplik kokkuvõte
Mõlemad meetodid viivad sama tulemuseni: külgmenüüsse ilmub uus jaotis, mis on valmis sisuga täitmiseks. Erinevus on ainult tööriistas.
Kui töötad saidiga praktiliselt ja ei karda functions.php faili, kasuta koodi. Üks register_post_type() funktsioon, null lisamoodulit. Sobib maandumislehtedele, väikestele kataloogidele ja arendaja toega projektidele.
Kui annad saidi kliendile üle või ehitad sisuprojekti tosina tüübiga, paigalda CPT UI. Visuaalne liides madaldab sisenemisbarjääri ja seadistuse eksport säästab tunde platvormide vahel migreerimisel.
Igal juhul seadista pärast registreerimist kuvamine: single ja archive mallid teemas või visuaalne paigutus CPT UI Pro / Elementor Pro kaudu. Ilma selle sammuta jääb sisu ainult administraatori paneeli.



