{"id":23978,"date":"2015-04-24T08:49:29","date_gmt":"2015-04-24T06:49:29","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=23978"},"modified":"2015-04-24T08:49:29","modified_gmt":"2015-04-24T06:49:29","slug":"extending-wordpress-with-custom-content-types","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/","title":{"rendered":"Extending WordPress With Custom Content Types"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Smashing Magazine&#8217;s take on &#8220;<a href=\"http:\/\/www.smashingmagazine.com\/2015\/04\/22\/extending-wordpress-custom-content-types\/\">Extending WordPress With Custom Content Types<\/a>&#8221; is one of the best I&#8217;ve seen around. \u00a0It is very complete &#8211; skipping only, from what I can tell, the REST API functionality of the custom post types. \u00a0It&#8217;s easy to read and follow. \u00a0It has both screenshots and code snippets. \u00a0And it is based on a real example.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/wordpress-custom-post-type-menu-preview-opt.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"23979\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/wordpress-custom-post-type-menu-preview-opt\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/wordpress-custom-post-type-menu-preview-opt.png?fit=500%2C322&amp;ssl=1\" data-orig-size=\"500,322\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"wordpress-custom-post-type-menu-preview-opt\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/wordpress-custom-post-type-menu-preview-opt.png?fit=500%2C322&amp;ssl=1\" class=\"aligncenter size-medium wp-image-23979\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/wordpress-custom-post-type-menu-preview-opt-500x322.png?resize=500%2C322&#038;ssl=1\" alt=\"wordpress-custom-post-type-menu-preview-opt\" width=\"500\" height=\"322\" \/><\/a><\/p>\n<p>This article alone can answer a gadzillion of those &#8220;Can this be done in WordPress?&#8221; questions.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Smashing Magazine&#8217;s take on &#8220;Extending WordPress With Custom Content Types&#8221; is one of the best I&#8217;ve seen around. \u00a0It is very complete &#8211; skipping only, from what I can tell, the REST API functionality of the custom post types. \u00a0It&#8217;s easy to read and follow. \u00a0It has both screenshots and code snippets. \u00a0And it is &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Extending WordPress With Custom Content Types<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Extending WordPress With Custom Content Types #wordpress #webdev #cms","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,62,1334,60],"tags":[105,1330],"keyring_services":[],"class_list":["post-23978","post","type-post","status-publish","format-link","hentry","category-general","category-technology","category-web-work","category-wordpress","tag-cms","tag-web-development","post_format-post-format-link"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Smashing Magazine&#039;s take on &quot;Extending WordPress With Custom Content Types&quot; is one of the best I&#039;ve seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It&#039;s easy to read and follow. It has both screenshots and code snippets. And it is\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Extending WordPress With Custom Content Types - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"Smashing Magazine&#039;s take on &quot;Extending WordPress With Custom Content Types&quot; is one of the best I&#039;ve seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It&#039;s easy to read and follow. It has both screenshots and code snippets. And it is\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-04-24T06:49:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-04-24T06:49:29+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Extending WordPress With Custom Content Types - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Smashing Magazine&#039;s take on &quot;Extending WordPress With Custom Content Types&quot; is one of the best I&#039;ve seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It&#039;s easy to read and follow. It has both screenshots and code snippets. And it is\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#blogposting\",\"name\":\"Extending WordPress With Custom Content Types - Leonid Mamchenkov\",\"headline\":\"Extending WordPress With Custom Content Types\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2015\\\/04\\\/wordpress-custom-post-type-menu-preview-opt-500x322.png\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#articleImage\"},\"datePublished\":\"2015-04-24T08:49:29+02:00\",\"dateModified\":\"2015-04-24T08:49:29+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#webpage\"},\"articleSection\":\"All, Technology, Web work, WordPress, CMS, web development, Link\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/wordpress\\\/#listItem\",\"name\":\"WordPress\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/wordpress\\\/#listItem\",\"position\":3,\"name\":\"WordPress\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/wordpress\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#listItem\",\"name\":\"Extending WordPress With Custom Content Types\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#listItem\",\"position\":4,\"name\":\"Extending WordPress With Custom Content Types\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/wordpress\\\/#listItem\",\"name\":\"WordPress\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/\",\"name\":\"Extending WordPress With Custom Content Types - Leonid Mamchenkov\",\"description\":\"Smashing Magazine's take on \\\"Extending WordPress With Custom Content Types\\\" is one of the best I've seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It's easy to read and follow. It has both screenshots and code snippets. And it is\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2015\\\/04\\\/24\\\/extending-wordpress-with-custom-content-types\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2015-04-24T08:49:29+02:00\",\"dateModified\":\"2015-04-24T08:49:29+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Extending WordPress With Custom Content Types - Leonid Mamchenkov","description":"Smashing Magazine's take on \"Extending WordPress With Custom Content Types\" is one of the best I've seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It's easy to read and follow. It has both screenshots and code snippets. And it is","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#blogposting","name":"Extending WordPress With Custom Content Types - Leonid Mamchenkov","headline":"Extending WordPress With Custom Content Types","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/wordpress-custom-post-type-menu-preview-opt-500x322.png","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#articleImage"},"datePublished":"2015-04-24T08:49:29+02:00","dateModified":"2015-04-24T08:49:29+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#webpage"},"articleSection":"All, Technology, Web work, WordPress, CMS, web development, Link"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/wordpress\/#listItem","name":"WordPress"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/wordpress\/#listItem","position":3,"name":"WordPress","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/wordpress\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#listItem","name":"Extending WordPress With Custom Content Types"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#listItem","position":4,"name":"Extending WordPress With Custom Content Types","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/wordpress\/#listItem","name":"WordPress"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/","name":"Extending WordPress With Custom Content Types - Leonid Mamchenkov","description":"Smashing Magazine's take on \"Extending WordPress With Custom Content Types\" is one of the best I've seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It's easy to read and follow. It has both screenshots and code snippets. And it is","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2015-04-24T08:49:29+02:00","dateModified":"2015-04-24T08:49:29+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Extending WordPress With Custom Content Types - Leonid Mamchenkov","og:description":"Smashing Magazine's take on &quot;Extending WordPress With Custom Content Types&quot; is one of the best I've seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It's easy to read and follow. It has both screenshots and code snippets. And it is","og:url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2015-04-24T06:49:29+00:00","article:modified_time":"2015-04-24T06:49:29+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Extending WordPress With Custom Content Types - Leonid Mamchenkov","twitter:description":"Smashing Magazine's take on &quot;Extending WordPress With Custom Content Types&quot; is one of the best I've seen around. It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. It's easy to read and follow. It has both screenshots and code snippets. And it is","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"23978","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 08:28:18","updated":"2026-01-15 11:19:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/wordpress\/\" title=\"WordPress\">WordPress<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tExtending WordPress With Custom Content Types\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"WordPress","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/wordpress\/"},{"label":"Extending WordPress With Custom Content Types","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":12308,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/03\/26\/finally-custom-post-types-in-wordpress-3-0\/","url_meta":{"origin":23978,"position":0},"title":"Finally, custom post types in WordPress 3.0 !","author":"Leonid Mamchenkov","date":"March 26, 2010","format":false,"excerpt":"The rumour has it that WordPress 3.0 will have custom post types built-in.\u00a0 These are excellent news!\u00a0 This means that 90% of all web development companies will be able to drop their own, complex and ugly in-house built systems and switch to WordPress development.\u00a0 And while WordPress code isn't the\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18988,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/12\/17\/apparently-its-trivial-to-add-custom-post-types\/","url_meta":{"origin":23978,"position":1},"title":"Apparently, it&#8217;s trivial to add custom post types &#8230;","author":"Leonid Mamchenkov","date":"December 17, 2013","format":"status","excerpt":"Apparently, it's trivial to add custom post types archives to the main menu. \u00a0Enjoy!","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":21429,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/03\/31\/wordpress-plugin-google-xml-sitemaps-4-0-significant-changes\/","url_meta":{"origin":23978,"position":2},"title":"WordPress plugin : Google XML Sitemaps 4.0 significant changes","author":"Leonid Mamchenkov","date":"March 31, 2014","format":false,"excerpt":"One of the most popular WordPress plugins - Google XML Sitemap - has recently been upgrade to version 4.0, with some significant changes. \u00a0Here is the quote from the changelog: New in Version 4.0 (2014-03-30): No static files anymore, sitemap is created on the fly! Sitemap is split-up into sub-sitemaps\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":16688,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/09\/07\/wordpress-plugins-teleport\/","url_meta":{"origin":23978,"position":3},"title":"WordPress Plugins : Teleport","author":"Leonid Mamchenkov","date":"September 7, 2012","format":"link","excerpt":"WordPress Plugins : Teleport Teleport is all about getting around WordPress quickly! Use keyboard shortcuts to get where you need to go with just two key strokes. First press \"w\", then choose from the following: e - (Edit) Edit current post\/page d - (Dashboard) Redirects to the Dashboard s -\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":21396,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/03\/24\/x-gif-a-custom-element-for-flexible-gif-playback\/","url_meta":{"origin":23978,"position":4},"title":"X-Gif &#8211; a custom element for flexible GIF playback","author":"Leonid Mamchenkov","date":"March 24, 2014","format":"link","excerpt":"X-Gif - a custom element for flexible GIF playback","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12595,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/06\/02\/custom-background-for-google-search\/","url_meta":{"origin":23978,"position":5},"title":"Custom background for Google search","author":"Leonid Mamchenkov","date":"June 2, 2010","format":false,"excerpt":"The Next Web points out: Starting this afternoon, and rolling out over the next few days\u00a0Google is releasing the ability around the US and the world to upload a custom image as the background of your Google.com. Obviously, there will be a lot of noise about it around the web.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/23978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=23978"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/23978\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=23978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=23978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=23978"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=23978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}