{"id":12308,"date":"2010-03-26T11:44:08","date_gmt":"2010-03-26T09:44:08","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=12308"},"modified":"2010-03-26T11:44:08","modified_gmt":"2010-03-26T09:44:08","slug":"finally-custom-post-types-in-wordpress-3-0","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2010\/03\/26\/finally-custom-post-types-in-wordpress-3-0\/","title":{"rendered":"Finally, custom post types in WordPress 3.0 !"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>The rumour has it that <a href=\"http:\/\/kovshenin.com\/archives\/custom-post-types-in-wordpress-3-0\/\">WordPress 3.0 will have custom post types<\/a> 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&#8217;t the prettiest thing you can find, it&#8217;s still better than most of that code that will be dropped soon.\u00a0 And it&#8217;s small, which is also an improvement.<\/p>\n<p>If you are not familiar with the concept of custom post types, these are basically your average posts + custom fields + theme and plugin support + steroids.\u00a0 In short, these are beautiful.\u00a0 It doesn&#8217;t really matter what your blog is about &#8211; cooking, political news, movies, or technology &#8211; you can always think of a way to make posts better than they are in the default installation.\u00a0 For example, cooking recipes can have a section on ingredients, cooking instructions, and serving instructions.\u00a0 You can have your theme support those sections and display them in a consistent and beautiful way.\u00a0 Now you probably wouldn&#8217;t even bother.\u00a0 You&#8217;ll do your best with built-in post editor and maybe, if you are half-insane, you&#8217;ll play with custom fields.\u00a0 But that&#8217;s too technical, complicated, and not even remotely convenient.\u00a0 You can try one of those few plugins available, but chances are you&#8217;ll either come across a limitation, or a plugin won&#8217;t work for you at all.\u00a0 With WordPress 3.0&#8242; custom post types your chances are better.<\/p>\n<p>And why did I mention web development companies?\u00a0 Because that is exactly what so many of them do &#8211; build web applications that work with custom object types (cars in automotive shops and rentals, real estate items, products with online shops, etc).\u00a0 A lot of work is put into defining those object types, building searching functionality, promotion bits, nested categories, integrating image galleries and contact forms, and such.\u00a0 Needless to say, most of this functionality is already available in WordPress, either built-in or via a plugin.\u00a0 Custom data types though weren&#8217;t.\u00a0 And now that custom posts will make it into WordPress, most of the average small company&#8217;s needs will be so much easier to take care of.<\/p>\n<p>This is a much needed and long awaited bit of functionality and I am very excited for it to finally make it.\u00a0 These will cause a new wave of activity around WordPress, and we&#8217;ll see more and more sites built with it.\u00a0 Awesome!<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>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&#8217;t the prettiest thing you can find, &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2010\/03\/26\/finally-custom-post-types-in-wordpress-3-0\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Finally, custom post types in WordPress 3.0 !<\/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":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,62,1334,60],"tags":[186,1330],"keyring_services":[],"class_list":["post-12308","post","type-post","status-publish","format-standard","hentry","category-general","category-technology","category-web-work","category-wordpress","tag-news","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":23978,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/extending-wordpress-with-custom-content-types\/","url_meta":{"origin":12308,"position":0},"title":"Extending WordPress With Custom Content Types","author":"Leonid Mamchenkov","date":"April 24, 2015","format":"link","excerpt":"Smashing Magazine's take on \"Extending WordPress With Custom Content Types\" is one of the best I've seen around. \u00a0It is very complete - skipping only, from what I can tell, the REST API functionality of the custom post types. \u00a0It's easy to read and follow. \u00a0It has both screenshots and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"wordpress-custom-post-type-menu-preview-opt","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/wordpress-custom-post-type-menu-preview-opt-500x322.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":12432,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/04\/08\/upcoming-wordpress-3-0-in-detail\/","url_meta":{"origin":12308,"position":1},"title":"Upcoming WordPress 3.0 in detail","author":"Leonid Mamchenkov","date":"April 8, 2010","format":false,"excerpt":"I know I've mentioned the awesomeness of the upcoming WordPress 3.0 release before.\u00a0 But there is more to learn.\u00a0 Dougal Campbell was running WordPress 3.0-beta for a few days and wrote a post describing the new features in detail. Also, if you add a post thumbnail which is as big\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":13110,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/08\/05\/agentpress-wordpress-theme-for-real-estate-websites\/","url_meta":{"origin":12308,"position":2},"title":"AgentPress &#8211; WordPress theme for real estate websites","author":"Leonid Mamchenkov","date":"August 5, 2010","format":false,"excerpt":"Some time ago I mentioned StayPress plugin for WordPress, for those people who need such functionality on their real estate web sites. \u00a0Today I have something else to talk about - AgentPress theme for WordPress designed and implemented by awesome people at StudioPress (too much Press in this sentense, isn't\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2010\/08\/agentpress_theme.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":21396,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/03\/24\/x-gif-a-custom-element-for-flexible-gif-playback\/","url_meta":{"origin":12308,"position":3},"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":26996,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/28\/runkit-changing-the-php-internals-on-the-fly\/","url_meta":{"origin":12308,"position":4},"title":"runkit &#8211; changing the PHP internals on the fly","author":"Leonid Mamchenkov","date":"November 28, 2016","format":false,"excerpt":"Here is something I didn't know about until today - PHP's runkit extension: The runkit extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing. This blog post - \"Shimming PHP for Fun and Profit\" - demonstrates\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":12308,"position":5},"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":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/12308","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=12308"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/12308\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=12308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=12308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=12308"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=12308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}