{"id":475,"date":"2023-07-09T00:55:39","date_gmt":"2023-07-09T00:55:39","guid":{"rendered":"https:\/\/excelraport.pl\/?p=475"},"modified":"2026-01-02T14:58:36","modified_gmt":"2026-01-02T14:58:36","slug":"custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac","status":"publish","type":"post","link":"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/","title":{"rendered":"Custom post types, czyli w\u0142asne typy wpis\u00f3w i jak mo\u017cesz je wykorzysta\u0107"},"content":{"rendered":"\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-top\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;475&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;top&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;5\\\/5 - (2 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Custom post types, czyli w\u0142asne typy wpis\u00f3w i jak mo\u017cesz je wykorzysta\u0107&quot;,&quot;width&quot;:&quot;142.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 142.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            5\/5 - (2 votes)    <\/div>\n    <\/div>\n<p>W \u015bwiecie WordPressa, systemu zarz\u0105dzania tre\u015bci\u0105 (CMS), istnieje wiele funkcji i rozszerze\u0144, kt\u00f3re pozwalaj\u0105 u\u017cytkownikom dostosowa\u0107 swoje witryny do swoich indywidualnych potrzeb. Jednym z takich rozszerze\u0144 s\u0105 custom post types, czyli w\u0142asne typy wpis\u00f3w. Custom post types daj\u0105 nam mo\u017cliwo\u015b\u0107 tworzenia nowych, niestandardowych typ\u00f3w wpis\u00f3w, <a href=\"https:\/\/excelraport.pl\/index.php\/2025\/05\/18\/open-source-vs-proprietary-software-ktore-podejscie-wybrac\/\" title=\"Open-source vs. proprietary software \u2013 kt\u00f3re podej\u015bcie wybra\u0107?\">kt\u00f3re mog\u0105 by\u0107 u\u017cywane<\/a> w naszych witrynach w spos\u00f3b odpowiadaj\u0105cy naszym unikalnym wymaganiom.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Z tego wpisu dowiesz si\u0119\u2026<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Prze\u0142\u0105cznik Spisu Tre\u015bci\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #000000;color:#000000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #000000;color:#000000\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Co_to_sa_custom_post_types\" >Co to s\u0105 custom post types?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Jak_utworzyc_custom_post_type\" >Jak utworzy\u0107 custom post type?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Jak_wykorzystac_custom_post_types\" >Jak wykorzysta\u0107 custom post types?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#1_Sklep_internetowy\" >1. Sklep internetowy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#2_Portfolio\" >2. Portfolio<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#3_Kalendarz_wydarzen\" >3. Kalendarz wydarze\u0144<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Dodatkowe_funkcje_custom_post_types\" >Dodatkowe funkcje custom post types<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Niestandardowe_pola_meta\" >Niestandardowe pola meta<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Taksonomie\" >Taksonomie<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Wlasne_szablony\" >W\u0142asne szablony<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Wlasne_pola_formularza\" >W\u0142asne pola formularza<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Przyklad_praktycznego_zastosowania_custom_post_types\" >Przyk\u0142ad praktycznego zastosowania custom post types<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Tworzenie_custom_post_type_%E2%80%9EDanie%E2%80%9D\" >Tworzenie custom post type &#8222;Danie&#8221;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Dodawanie_dan_do_menu\" >Dodawanie da\u0144 do menu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/excelraport.pl\/index.php\/2023\/07\/09\/custom-post-types-czyli-wlasne-typy-wpisow-i-jak-mozesz-je-wykorzystac\/#Wyswietlanie_menu_na_stronie\" >Wy\u015bwietlanie menu na stronie<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Co_to_sa_custom_post_types\"><\/span>Co to s\u0105 custom post types?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Custom post types to rozszerzenie WordPressa, kt\u00f3re umo\u017cliwia tworzenie nowych typ\u00f3w wpis\u00f3w, niezale\u017cnych od domy\u015blnych, takich jak artyku\u0142y czy strony. Oznacza to, \u017ce mo\u017cemy stworzy\u0107 np. typ wpisu &#8222;Produkt&#8221; dla sklepu internetowego, typ wpisu &#8222;Projekt&#8221; dla portfolio czy nawet typ wpisu &#8222;Wydarzenie&#8221; dla kalendarza wydarze\u0144. Custom post types pozwalaj\u0105 nam definiowa\u0107 struktur\u0119 i zachowanie tych nowych typ\u00f3w wpis\u00f3w, co daje nam pe\u0142n\u0105 kontrol\u0119 nad tre\u015bciami publikowanymi na naszej stronie.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Jak_utworzyc_custom_post_type\"><\/span>Jak utworzy\u0107 custom post type?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Aby stworzy\u0107 custom post type w WordPressie, musimy u\u017cy\u0107 funkcji <code>register_post_type()<\/code>. Ta funkcja umo\u017cliwia zdefiniowanie nowego typu wpisu, okre\u015blenie jego w\u0142a\u015bciwo\u015bci i zachowania. Oto prosty przyk\u0142ad kodu:<\/p>\n<pre><code>\r\nfunction custom_post_type_example() {\r\n    $args = array(\r\n        'public' =&gt; true,\r\n        'label'  =&gt; 'Produkty'\r\n    );\r\n    register_post_type( 'product', $args );\r\n}\r\nadd_action( 'init', 'custom_post_type_example' );\r\n<\/code><\/pre>\n<p>W powy\u017cszym przyk\u0142adzie tworzymy custom post type o nazwie &#8222;product&#8221;, kt\u00f3ry b\u0119dzie publiczny i b\u0119dzie mia\u0142 etykiet\u0119 &#8222;Produkty&#8221;. Po zarejestrowaniu tego typu wpisu mo\u017cemy ju\u017c z niego korzysta\u0107 w panelu administracyjnym WordPressa.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Jak_wykorzystac_custom_post_types\"><\/span>Jak wykorzysta\u0107 custom post types?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Custom post types daj\u0105 nam szerokie mo\u017cliwo\u015bci wykorzystania. Oto kilka przyk\u0142ad\u00f3w, jak mo\u017cemy z nich skorzysta\u0107:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_Sklep_internetowy\"><\/span>1. Sklep internetowy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Je\u015bli prowadzisz sklep internetowy oparty na WordPressie, custom post types mog\u0105 okaza\u0107 si\u0119 niezwykle przydatne. Mo\u017cesz stworzy\u0107 typ wpisu &#8222;Produkt&#8221;, kt\u00f3ry b\u0119dzie zawiera\u0142 wszystkie informacje o oferowanych przez Ciebie produktach, takie jak zdj\u0119cia, opisy, ceny, itp. Mo\u017cesz r\u00f3wnie\u017c doda\u0107 niestandardowe pola meta do typu wpisu &#8222;Produkt&#8221;, aby przechowywa\u0107 dodatkowe informacje, takie jak rozmiar, kolor, dost\u0119pno\u015b\u0107, itp. Dzi\u0119ki custom post types b\u0119dziesz mia\u0142 pe\u0142n\u0105 kontrol\u0119 nad wygl\u0105dem i funkcjonalno\u015bci\u0105 swojego sklepu.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_Portfolio\"><\/span>2. Portfolio<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Je\u015bli jeste\u015b freelancerem, artyst\u0105 czy fotografem, custom post types mog\u0105 by\u0107 doskona\u0142ym narz\u0119dziem do tworzenia swojego portfolio. Mo\u017cesz stworzy\u0107 typ wpisu &#8222;Projekt&#8221; lub &#8222;Praca&#8221;, w kt\u00f3rym b\u0119dziesz prezentowa\u0107 swoje najlepsze prace. Ka\u017cdy wpis mo\u017ce zawiera\u0107 zdj\u0119cia, opisy, informacje o kliencie, zastosowane technologie, itp. Dzi\u0119ki temu b\u0119dziesz m\u00f3g\u0142 \u0142atwo zarz\u0105dza\u0107 i wy\u015bwietla\u0107 swoje portfolio na swojej witrynie WordPress.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3_Kalendarz_wydarzen\"><\/span>3. Kalendarz wydarze\u0144<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Je\u015bli planujesz utworzy\u0107 kalendarz wydarze\u0144 na swojej stronie, custom post types mog\u0105 by\u0107 \u015bwietnym rozwi\u0105zaniem. Mo\u017cesz stworzy\u0107 typ wpisu &#8222;Wydarzenie&#8221;, w kt\u00f3rym b\u0119dziesz przechowywa\u0107 informacje o poszczeg\u00f3lnych wydarzeniach, takie jak data, godzina, miejsce, opis, itp. Dzi\u0119ki temu b\u0119dziesz m\u00f3g\u0142 \u0142atwo zarz\u0105dza\u0107 i wy\u015bwietla\u0107 wszystkie wydarzenia na swojej witrynie, a u\u017cytkownicy b\u0119d\u0105 mogli przegl\u0105da\u0107 i rezerwowa\u0107 bilety na nadchodz\u0105ce wydarzenia.<\/p>\n<p>Custom post types s\u0105 pot\u0119\u017cnym narz\u0119dziem w systemie WordPress, kt\u00f3re daje nam pe\u0142n\u0105 kontrol\u0119 nad tworzeniem i zarz\u0105dzaniem niestandardowymi typami wpis\u00f3w. Dzi\u0119ki nim mo\u017cemy dostosowa\u0107 nasze witryny do naszych indywidualnych potrzeb i tworzy\u0107 r\u00f3\u017cnorodne tre\u015bci, takie jak produkty, portfolio czy kalendarze wydarze\u0144. Wykorzystanie custom post types wymaga pewnej wiedzy programistycznej, ale nagroda za nauk\u0119 jest ogromna &#8211; mo\u017cliwo\u015b\u0107 stworzenia unikalnej i funkcjonalnej witryny opartej na WordPressie.<\/p>\n<p>Mam nadziej\u0119, \u017ce ten artyku\u0142 dostarczy\u0142 Ci wiedzy na temat custom post types i ich wykorzystania. Teraz czas, aby\u015b sam zacz\u0105\u0142 eksperymentowa\u0107 i tworzy\u0107 w\u0142asne niestandardowe typy wpis\u00f3w w swojej witrynie WordPress!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dodatkowe_funkcje_custom_post_types\"><\/span>Dodatkowe funkcje custom post types<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ponadto, custom post types oferuj\u0105 wiele dodatkowych funkcji i mo\u017cliwo\u015bci, kt\u00f3re mog\u0105 znacznie zwi\u0119kszy\u0107 funkcjonalno\u015b\u0107 naszej witryny. Oto kilka z tych funkcji:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Niestandardowe_pola_meta\"><\/span>Niestandardowe pola meta<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Jedn\u0105 z najwi\u0119kszych zalet custom post types jest mo\u017cliwo\u015b\u0107 dodawania niestandardowych p\u00f3l meta do naszych wpis\u00f3w. Mo\u017cemy zdefiniowa\u0107 dodatkowe pola, takie jak &#8222;Autor&#8221;, &#8222;Cena&#8221;, &#8222;Data wydarzenia&#8221;, kt\u00f3re b\u0119d\u0105 przechowywa\u0107 dodatkowe informacje o naszych wpisach. To umo\u017cliwia bardziej szczeg\u00f3\u0142owe i precyzyjne zarz\u0105dzanie danymi.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Taksonomie\"><\/span>Taksonomie<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Custom post types mog\u0105 by\u0107 powi\u0105zane z taksonomiami, czyli kategoriami i tagami. Mo\u017cemy tworzy\u0107 niestandardowe taksonomie dla naszych typ\u00f3w wpis\u00f3w, co u\u0142atwia organizacj\u0119 i nawigacj\u0119 po tre\u015bciach na naszej witrynie. Na przyk\u0142ad, dla custom post type &#8222;Produkt&#8221; mo\u017cemy utworzy\u0107 taksonomie &#8222;Kategorie&#8221; i &#8222;Marki&#8221;, co pozwoli u\u017cytkownikom \u0142atwo przegl\u0105da\u0107 i filtrowa\u0107 produkty.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Wlasne_szablony\"><\/span>W\u0142asne szablony<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ka\u017cdy custom post type mo\u017ce mie\u0107 sw\u00f3j w\u0142asny szablon wy\u015bwietlania. Mo\u017cemy tworzy\u0107 niestandardowe szablony dla r\u00f3\u017cnych typ\u00f3w wpis\u00f3w, co pozwala nam kontrolowa\u0107 ich wygl\u0105d i uk\u0142ad na stronie. Mo\u017cemy tworzy\u0107 pi\u0119kne uk\u0142ady dla naszych produkt\u00f3w, wydarze\u0144 czy projekt\u00f3w, aby wyr\u00f3\u017cni\u0107 si\u0119 w t\u0142umie.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Wlasne_pola_formularza\"><\/span>W\u0142asne pola formularza<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Je\u015bli korzystamy z custom post types do tworzenia formularzy, mo\u017cemy doda\u0107 w\u0142asne pola formularza dla naszych wpis\u00f3w. Mo\u017cemy definiowa\u0107 pola tekstowe, listy rozwijane, pola wyboru, itp., kt\u00f3re b\u0119d\u0105 pojawia\u0107 si\u0119 w formularzu dodawania nowego wpisu. Dzi\u0119ki temu u\u017cytkownicy mog\u0105 \u0142atwo wprowadza\u0107 i aktualizowa\u0107 dane na naszej stronie.<\/p>\n<p>Custom post types s\u0105 pot\u0119\u017cnym narz\u0119dziem, kt\u00f3re pozwala nam tworzy\u0107 niestandardowe typy wpis\u00f3w i dostosowywa\u0107 nasze witryny do naszych indywidualnych potrzeb. Mo\u017cemy tworzy\u0107 sklepy internetowe, portfolio, kalendarze wydarze\u0144 i wiele wi\u0119cej, korzystaj\u0105c z funkcjonalno\u015bci custom post types. Dzi\u0119ki niestandardowym polom meta, taksonomiom, w\u0142asnym szablonom i polom formularza, mamy pe\u0142n\u0105 kontrol\u0119 nad tre\u015bciami publikowanymi na naszej stronie WordPress.<\/p>\n<p>Wa\u017cne jest, aby eksperymentowa\u0107 i dostosowywa\u0107 custom post types do swoich potrzeb. Dzi\u0119ki nim mo\u017cemy w pe\u0142ni wykorzysta\u0107 potencja\u0142 WordPressa i stworzy\u0107 unikalne, funkcjonalne i atrakcyjne witryny. Mam nadziej\u0119, \u017ce ten artyku\u0142 dostarczy\u0142 Ci wiedzy i inspiracji do korzystania z custom post types na swoim blogu WordPress. Powodzenia w tworzeniu!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Przyklad_praktycznego_zastosowania_custom_post_types\"><\/span>Przyk\u0142ad praktycznego zastosowania custom post types<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Aby lepiej zrozumie\u0107, jak mo\u017cemy wykorzysta\u0107 custom post types, przyjrzyjmy si\u0119 praktycznemu przyk\u0142adowi. Za\u0142\u00f3\u017cmy, \u017ce prowadzisz stron\u0119 dla restauracji i chcesz stworzy\u0107 sekcj\u0119 na swojej witrynie, w kt\u00f3rej b\u0119dziesz prezentowa\u0107 menu restauracji. Mo\u017cemy wykorzysta\u0107 custom post types do stworzenia typu wpisu &#8222;Danie&#8221;, kt\u00f3re b\u0119dzie zawiera\u0107 informacje o poszczeg\u00f3lnych daniach dost\u0119pnych w menu.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tworzenie_custom_post_type_%E2%80%9EDanie%E2%80%9D\"><\/span>Tworzenie custom post type &#8222;Danie&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Pierwszym krokiem jest utworzenie custom post type o nazwie &#8222;Danie&#8221;. Mo\u017cemy to zrobi\u0107, dodaj\u0105c poni\u017cszy kod do pliku functions.php w naszym motywie WordPress:<\/p>\n<pre><code>\r\nfunction custom_post_type_menu() {\r\n    $labels = array(\r\n        'name'               =&gt; 'Menu',\r\n        'singular_name'      =&gt; 'Danie',\r\n        'menu_name'          =&gt; 'Menu',\r\n        'name_admin_bar'     =&gt; 'Danie',\r\n        'add_new'            =&gt; 'Dodaj nowe danie',\r\n        'add_new_item'       =&gt; 'Dodaj nowe danie',\r\n        'new_item'           =&gt; 'Nowe danie',\r\n        'edit_item'          =&gt; 'Edytuj danie',\r\n        'view_item'          =&gt; 'Zobacz danie',\r\n        'all_items'          =&gt; 'Wszystkie dania',\r\n        'search_items'       =&gt; 'Szukaj da\u0144',\r\n        'parent_item_colon'  =&gt; 'Danie nadrz\u0119dne:',\r\n        'not_found'          =&gt; 'Nie znaleziono da\u0144.',\r\n        'not_found_in_trash' =&gt; 'Nie znaleziono da\u0144 w koszu.'\r\n    );\r\n\r\n    $args = array(\r\n        'labels'             =&gt; $labels,\r\n        'public'             =&gt; true,\r\n        'publicly_queryable' =&gt; true,\r\n        'show_ui'            =&gt; true,\r\n        'show_in_menu'       =&gt; true,\r\n        'query_var'          =&gt; true,\r\n        'rewrite'            =&gt; array( 'slug' =&gt; 'menu' ),\r\n        'capability_type'    =&gt; 'post',\r\n        'has_archive'        =&gt; true,\r\n        'hierarchical'       =&gt; false,\r\n        'menu_position'      =&gt; null,\r\n        'supports'           =&gt; array( 'title', 'editor', 'thumbnail', 'custom-fields' )\r\n    );\r\n\r\n    register_post_type( 'danie', $args );\r\n}\r\nadd_action( 'init', 'custom_post_type_menu' );\r\n<\/code><\/pre>\n<p>Powy\u017cszy kod tworzy nowy custom post type o nazwie &#8222;Danie&#8221;. Definiujemy etykiety, kt\u00f3re b\u0119d\u0105 wy\u015bwietlane w panelu administracyjnym, oraz r\u00f3\u017cne ustawienia, takie jak obs\u0142ugiwane funkcje (tytu\u0142, edytor, miniatura, niestandardowe pola) <a href=\"https:\/\/excelraport.pl\/index.php\/2023\/09\/07\/wprowadzenie-do-powerpoint-live-i-jego-zastosowania-w-prezentacjach-online\/\" title=\"Wprowadzenie do PowerPoint Live i jego zastosowania w prezentacjach online\">czy opcje wy\u015bwietlania<\/a> w menu administracyjnym. Dodatkowo okre\u015blamy slug &#8222;menu&#8221; dla URL-\u00f3w naszych da\u0144.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dodawanie_dan_do_menu\"><\/span>Dodawanie da\u0144 do menu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Teraz, gdy mamy utworzony custom post type &#8222;Danie&#8221;, mo\u017cemy dodawa\u0107 nowe wpisy, czyli poszczeg\u00f3lne dania, do naszego menu. Po zalogowaniu si\u0119 do panelu administracyjnego WordPressa, zobaczysz now\u0105 sekcj\u0119 &#8222;Menu&#8221; w lewym menu. Kliknij na ni\u0105, a nast\u0119pnie na &#8222;Dodaj nowe danie&#8221;. Wype\u0142nij tytu\u0142 dania, opis, dodaj zdj\u0119cie, okre\u015bl cen\u0119 i inne informacje dotycz\u0105ce dania.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Wyswietlanie_menu_na_stronie\"><\/span>Wy\u015bwietlanie menu na stronie<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Aby wy\u015bwietli\u0107 nasze menu na stronie, musimy utworzy\u0107 odpowiedni szablon. Stw\u00f3rzmy plik o nazwie &#8222;menu.php&#8221; w naszym motywie i dodajmy do niego poni\u017cszy kod:<\/p>\n<pre><code>\r\n&lt;?php\r\n\/\/ Pobranie wszystkich da\u0144\r\n$daNiaQuery = new WP_Query( array(\r\n    'post_type'      =&gt; 'danie',\r\n    'posts_per_page' =&gt; -1,\r\n) );\r\n\r\n\/\/ Sprawdzenie, czy s\u0105 jakie\u015b dania\r\nif ( $daNiaQuery-&gt;have_posts() ) :\r\n    while ( $daNiaQuery-&gt;have_posts() ) : $daNiaQuery-&gt;the_post();\r\n        \/\/ Pobranie informacji o danym daniu\r\n        $tytul = get_the_title();\r\n        $opis = get_the_content();\r\n        $zdjecie = get_the_post_thumbnail();\r\n        $cena = get_post_meta( get_the_ID(), 'cena', true ); \/\/ Przyk\u0142ad pobrania niestandardowego pola meta \"cena\"\r\n\r\n        \/\/ Wy\u015bwietlenie dania\r\n        echo '&lt;div class=\"danie\"&gt;';\r\n        echo '&lt;h3&gt;' . $tytul . '&lt;\/h3&gt;';\r\n        echo '&lt;div class=\"zdjecie\"&gt;' . $zdjecie . '&lt;\/div&gt;';\r\n        echo '&lt;p&gt;' . $opis . '&lt;\/p&gt;';\r\n        echo '&lt;p class=\"cena\"&gt;' . $cena . ' z\u0142&lt;\/p&gt;';\r\n        echo '&lt;\/div&gt;';\r\n    endwhile;\r\n\r\n    \/\/ Resetowanie zapytania\r\n    wp_reset_postdata();\r\nelse :\r\n    echo 'Brak da\u0144 w menu.';\r\nendif;\r\n?&gt;\r\n<\/code><\/pre>\n<p>W powy\u017cszym kodzie najpierw pobieramy wszystkie wpisy typu &#8222;Danie&#8221; przy u\u017cyciu WP_Query. Nast\u0119pnie iterujemy przez ka\u017cdy wpis i pobieramy potrzebne informacje, takie jak tytu\u0142, opis, zdj\u0119cie i cena (przyk\u0142ad pobrania niestandardowego pola meta). Nast\u0119pnie wy\u015bwietlamy te informacje na stronie, tworz\u0105c indywidualny blok dla ka\u017cdego dania.<\/p>\n<p>Aby wy\u015bwietli\u0107 menu na dowolnej stronie, mo\u017cemy utworzy\u0107 now\u0105 stron\u0119 i u\u017cy\u0107 edytora blok\u00f3w WordPressa, aby doda\u0107 blok &#8222;W\u0142asny HTML&#8221; lub &#8222;W\u0142asny blok&#8221; i wklei\u0107 kod szablonu menu. Po zapisaniu strony, zobaczysz, \u017ce menu zosta\u0142o wy\u015bwietlone na stronie.<\/p>\n<p>Custom post types to pot\u0119\u017cne narz\u0119dzie w WordPressie, kt\u00f3re umo\u017cliwia tworzenie niestandardowych typ\u00f3w wpis\u00f3w, dostosowanych do indywidualnych potrzeb naszej witryny. W tym artykule om\u00f3wili\u015bmy przyk\u0142ad zastosowania custom post types do stworzenia menu restauracji. Dzi\u0119ki custom post types mogli\u015bmy tworzy\u0107 i zarz\u0105dza\u0107 daniami w spos\u00f3b elastyczny i \u0142atwy w obs\u0142udze.<\/p>\n<p>Custom post types oferuj\u0105 szeroki zakres mo\u017cliwo\u015bci, takich jak niestandardowe pola meta, taksonomie, w\u0142asne szablony i pola formularza, kt\u00f3re pozwalaj\u0105 nam na pe\u0142n\u0105 kontrol\u0119 nad tre\u015bciami publikowanymi na stronie. To <a href=\"https:\/\/excelraport.pl\/index.php\/2025\/07\/25\/najlepsze-srodowiska-deweloperskie-open-source-dla-roznych-jezykow-programowania\/\" title=\"Najlepsze \u015brodowiska deweloperskie open source dla r\u00f3\u017cnych j\u0119zyk\u00f3w programowania\">pot\u0119\u017cne narz\u0119dzie dla ka\u017cdego<\/a>, kto chce tworzy\u0107 spersonalizowane i funkcjonalne witryny oparte na WordPressie.<\/p>\n<p>Mam nadziej\u0119, \u017ce ten artyku\u0142 dostarczy\u0142 Ci wiedzy na temat custom post types i ich zastosowania. Zach\u0119cam Ci\u0119 do eksperymentowania z nimi i odkrywania innych kreatywnych sposob\u00f3w wykorzystania. Custom post types mog\u0105 znacznie rozszerzy\u0107 mo\u017cliwo\u015bci Twojej witryny WordPress i dostarczy\u0107 lepsze do\u015bwiadczenia u\u017cytkownikom. Powodzenia w tworzeniu!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W \u015bwiecie WordPressa, systemu zarz\u0105dzania tre\u015bci\u0105 (CMS), istnieje wiele funkcji i rozszerze\u0144, kt\u00f3re pozwalaj\u0105 u\u017cytkownikom dostosowa\u0107 swoje witryny do swoich indywidualnych potrzeb. Jednym z takich rozszerze\u0144 s\u0105 custom post types, czyli w\u0142asne typy wpis\u00f3w. Custom post types daj\u0105 nam mo\u017cliwo\u015b\u0107 tworzenia nowych, niestandardowych typ\u00f3w wpis\u00f3w, kt\u00f3re mog\u0105 by\u0107 u\u017cywane w naszych witrynach w spos\u00f3b odpowiadaj\u0105cy [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":234,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts\/475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/comments?post=475"}],"version-history":[{"count":0,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/posts\/475\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/media\/234"}],"wp:attachment":[{"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/media?parent=475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/categories?post=475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/excelraport.pl\/index.php\/wp-json\/wp\/v2\/tags?post=475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}