De ehhez egy k\u00fcl\u00f6n plugint kellett telep\u00edteni, amit k\u00f6nnyed\u00e9n ki is tudunk ker\u00fclni egy kis k\u00f3dol\u00e1ssal. Ez az\u00e9rt j\u00f3, mert nem kell er\u0151forr\u00e1st \u00e1ldoznunk a plugin futtat\u00e1s\u00e1ra, \u00e9s nem hagyunk plusz biztons\u00e1gi r\u00e9st egy esetleges friss\u00edt\u00e9s cs\u00fasz\u00e1s\u00e1\u00e9rt.<\/p><\/blockquote>\n\n\n\n
Jelenleg a Custom Post Type k\u00e9sz\u00edt\u00e9s\u00e9nek legegyszer\u0171bb megk\u00f6zel\u00e9\u00edt\u00e9s\u00e9t fogom bemutatni \u00edgy a functions.php-ban fogunk dolgozni.<\/p>\n\n\n\n
Adjuk is hozz\u00e1 az al\u00e1bbi k\u00f3dot a functions.php alj\u00e1hoz<\/strong>:<\/p>\n\n\n\n\/* Custom Post Type Start *\/\nfunction weart_create_posttype() {\n register_post_type( 'news',\n \/\/ be\u00e1ll\u00edt\u00e1sok\n array(\n 'labels' => array(\n 'name' => __( 'Referenciak' ),\n 'singular_name' => __( 'Referencia' )\n ),\n 'public' => true,\n 'has_archive' => false,\n 'rewrite' => array('slug' => 'referenciak'),\n )\n );\n}\n\/\/ Hook a WordPress-hez\nadd_action( 'init', 'weart_create_posttype' );\n\/* Custom Post Type End *\/<\/code><\/pre>\n\n\n\nA k\u00f3d hozz\u00e1ad\u00e1sa ut\u00e1n a Referencia Post Type automatikusan megjelenik a WordPress admin fel\u00fcleten. Ebben a men\u00fcpontban pontosan ugyan\u00fagy fogod tudni kezelni a bejegyz\u00e9seket mintha a be\u00e9p\u00edtett Bejegyz\u00e9sek men\u00fcpontot haszn\u00e1ln\u00e1d.<\/p>\n\n\n\n
Az al\u00e1bbi k\u00e9pen l\u00e1thatod hogyan fog kin\u00e9zni:<\/p>\n\n\n\n
\u00daj Referencia men\u00fcpont jelenik meg.<\/figcaption><\/figure><\/div>\n\n\n\nAmikor egyedi tartalomt\u00edpust hozunk l\u00e9tre mindenk\u00e9ppen egy init<\/code>-es add_action()<\/code> \u00a0hook seg\u00edts\u00e9g\u00e9vel kell megtenn\u00fcnk, amiben egy register_post_type()<\/code> f\u00fcggv\u00e9nyt h\u00edvunk meg a megfelel\u00f3 argumentumokkal.<\/p>\n\n\n\n\u00c9n ezeket a fenti p\u00e9ld\u00e1ban \u00f6sszevontam \u00e9s csak a legsz\u00fcks\u00e9gesebbeket \u00e1ll\u00edtottam be, de lehet\u0151s\u00e9g van sokkal t\u00f6bb be\u00e1ll\u00edt\u00e1s megad\u00e1s\u00e1ra is:<\/p>\n\n\n\n
\/*Custom Post type start*\/\nfunction weart_post_type_referencia() {\n\n \/\/ t\u00e1mogatott postelemek\n $supports = array(\n 'title', \/\/ c\u00edm\n 'editor', \/\/ tartalom\n 'author', \/\/ szerz\u0151\n 'thumbnail', \/\/ kiemelt k\u00e9p\n 'excerpt', \/\/ kivonat\n 'custom-fields', \/\/ custom fields\n 'comments', \/\/ hozz\u00e1sz\u00f3l\u00e1sok\n 'revisions', \/\/ t\u00e1rolt v\u00e1ltozatok\n 'post-formats', \/\/ form\u00e1tumok (k\u00e9p,id\u00e9zet, video...)\n );\n\n $labels = array(\n 'name' => _x('referenciak', 'plural'),\n 'singular_name' => _x('referencia', 'singular'),\n 'menu_name' => _x('referenciak', 'admin menu'),\n 'name_admin_bar' => _x('referenciak', 'admin bar'),\n 'add_new' => _x('uj hozzaadasa', 'add new'),\n 'add_new_item' => __('uj referencia hozzaadasa'),\n 'new_item' => __('uj referencia'),\n 'edit_item' => __('referencia szerkesztese'),\n 'view_item' => __('megn\u00e9zem az elemet'),\n 'all_items' => __('minden referencia'),\n 'search_items' => __('referencia keres\u00e9se'),\n 'not_found' => __('nem talalhato referencia.'),\n );\n\n $args = array(\n 'supports' => $supports,\n 'labels' => $labels,\n 'public' => true,\n 'query_var' => true,\n 'rewrite' => array('slug' => 'referenciak'),\n 'has_archive' => true,\n 'hierarchical' => false,\n );\n\n register_post_type('referencia', $args);\n}\nadd_action('init', 'weart_post_type_referencia');\n\/*Custom Post type end*\/<\/code><\/pre>\n\n\n\n\u00c9n ezeket a fenti p\u00e9ld\u00e1ban \u00f6sszevontam \u00e9s csak a legsz\u00fcks\u00e9gesebbeket \u00e1ll\u00edtottam be, de lehet\u0151s\u00e9g van sokkal t\u00f6bb be\u00e1ll\u00edt\u00e1s megad\u00e1s\u00e1ra is:<\/p>\n\n\n\n
$supports<\/strong>: Azok az elemek amik t\u00e1mogatottak lesznek a Post Type-ban.<\/li>$labels<\/strong>: Milyen feliratokkal jelenjen meg a tartalomt\u00edpus? \u00c9n a p\u00e9ld\u00e1ban nem csin\u00e1ltma ford\u00edthat\u00f3ra, de term\u00e9szetesen t\u00f6bbnyelv\u0171s\u00edthet\u0151ek a feliratok.<\/li>$args: <\/strong>Megadhatjuk a men\u00fc pozici\u00f3j\u00e1t \u00e9s egy\u00e9b be\u00e1ll\u00edt\u00e1sait.<\/li><\/ul>\n\n\n\nHa mindent j\u00f3l csin\u00e1ltunk akkor jelen pillanatban ott tartunk, hogy van egy m\u0171k\u00f6d\u0151 egyedi tartalomt\u00edpusunk, ami pontosan \u00fagy viselkedik, mint egy \u201egy\u00e1ri\u201d tartalomt\u00edpus. Nem mellesleg eddig a pontig tudtunk volna eljutni k\u00f3dol\u00e1s n\u00e9lk\u00fcl a CPT UI plugin haszn\u00e1lat\u00e1val is.<\/p>\n\n\n\n
List\u00e1zzuk ki a Custom Post Type-okat<\/h2>\n\n\n\n Innent\u0151l m\u00e1r csak az a dolgunk, hogy hozz\u00e1adjunk tartalmakat majd megjelen\u00edts\u00fck azt a sablonunkban.<\/p>\n\n\n\n
Alapj\u00e1raton a legt\u00f6bbsz\u00f6r nem tartalmi oldalakat, teh\u00e1t nem \u00faj bejegyz\u00e9seket akarunk l\u00e9trehozni, hanem egy list\u00e1t szeretn\u00e9nk az egyedi tartalmainknak. Persze egy arch\u00edvum oldal alapb\u00f3l k\u00e9pz\u0151dik hozz\u00e1juk, jelen esetben:<\/p>\n\n\n\n
domain.hu\/referenciak<\/code><\/pre>\n\n\n\nA l\u00e9nyeg azonban az lenne hogy ott jelen\u00edts\u00fck meg egy loop seg\u00edts\u00e9g\u00e9vel ahol csak szeretn\u00e9nk. A mostani Referenci\u00e1s p\u00e9ld\u00e1ban is egy list\u00e1t szeretn\u00e9k megjelen\u00edteni a referenci\u00e1immal, amiben van egy k\u00e9p \u00e9s egy n\u00e9v.<\/p>\n\n\n\n
Szerencs\u00e9ra ak\u00e1rhol megjelen\u00edthetj\u00fck \u0151ket egy egyszer\u0171 wp_query<\/code>-vel.<\/p>\n\n\n\n<?php \n$args = array( \n 'post_type' => 'referenciak', \n 'posts_per_page' => 10 \n);\n$the_query = new WP_Query( $args ); \n\nif ( $the_query->have_posts() ) : \n while ( $the_query->have_posts() ) : $the_query->the_post(); ?>\n <h2><?php the_title(); ?><\/h2>\n <div class=\"entry-content\">\n <?php the_excerpt(); ?> \n <\/div>\n <?php endwhile; wp_reset_postdata();\nendif; \n?><\/code><\/pre>\n\n\n\nEgyedi kin\u00e9zet az egyedi tartalomhoz<\/h2>\n\n\n\n Ha m\u00e9gis sz\u00fcks\u00e9g lenne arra, hogy egyes\u00e9vel is megjelen\u00edts\u00fck \u0151ket egy k\u00fcl\u00f6n sablondiz\u00e1jnnal, mert mondjuk egy esettanulm\u00e1nyt rejt a belseje, akkor csak l\u00e9tre kell hozni egy single-referenciak.php<\/strong> f\u00e1jlt a gy\u00f6k\u00e9rk\u00f6nyvt\u00e1rban.<\/p>\n\n\n\nEzt a WordPress alapb\u00f3l fel fogja ismerni<\/strong>, \u00e9s haszn\u00e1lni fogja a Referencia Post Type megjelen\u00edt\u00e9s\u00e9hez. K\u00fcl\u00f6nleges k\u00f3dot nem ig\u00e9nyel, \u00fagy kell vele b\u00e1nni, mintha egy sima single.php f\u00e1jlt programozn\u00e1nk.<\/p>\n\n\n\n\u00d6sszefogalva<\/h2>\n\n\n\n Most, hogy megtanultuk a Custom Post Type-ok haszn\u00e1lat\u00e1t a WordPress-ben sz\u00e1mottev\u0151en komplexebb oldalakat tudunk majd k\u00e9sz\u00edteni, amik nem mellesleg sokkal jobban strukt\u00far\u00e1ltak.<\/p>\n\n\n\n
Sokkal \u00f6sszetettebb megjelen\u00e9st tudunk k\u00e9sz\u00edteni, amellett, hogy a weboldal szerkeszt\u0151j\u00e9t nem terhelj\u00fck feleslegesen \u00faj funkci\u00f3k megtanul\u00e1s\u00e1val. <\/strong>Az \u0150 szemsz\u00f6g\u00e9b\u0151l ugyanis nem t\u00f6rt\u00e9nik v\u00e1ltoz\u00e1s a szerkeszt\u0151 haszn\u00e1lat\u00e1ban, hiszen ugyanazt a bejegyz\u00e9sszerkeszt\u0151t fogja haszn\u00e1lni, amit eddig is megszokott.<\/p>\n\n\n\nTipp:<\/strong><\/em> \u00dcgyelj\u00fcnk r\u00e1, hogy ezeket az egyedi tartalomt\u00edpusokat a sablonunkhoz rendelt\u00fck, ami sablonv\u00e1lt\u00e1skor okozhat zavarokat. \u00c9rdemes elhet egyedi pluginbe kiszervezni \u0151ket hogy elker\u00fclj\u00fck ezeket a kellemetlens\u00e9geket.<\/p>\n","protected":false},"excerpt":{"rendered":"Alap\u00f3 csak h\u00e1rom Post Type-ot kapunk a WordPress-ben, de h\u00e1la a Custom Post Type-nak h\u00e1la nagyon egyszer\u0171en hozhatunk l\u00e9tre egyedi tartalomt\u00edpusokat.<\/p>\n","protected":false},"author":2,"featured_media":1476,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","inline_featured_image":false,"footnotes":""},"categories":[3,5],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/posts\/1454"}],"collection":[{"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/comments?post=1454"}],"version-history":[{"count":5,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/posts\/1454\/revisions"}],"predecessor-version":[{"id":1472,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/posts\/1454\/revisions\/1472"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/media\/1476"}],"wp:attachment":[{"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/media?parent=1454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/categories?post=1454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weart.hu\/wp-json\/wp\/v2\/tags?post=1454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}