{"id":8658,"date":"2011-09-12T16:16:47","date_gmt":"2011-09-12T16:16:47","guid":{"rendered":"http:\/\/wpml.org\/?p=8658"},"modified":"2019-05-07T09:31:04","modified_gmt":"2019-05-07T09:31:04","slug":"multilingual-ready-custom-types-and-fields-plugin","status":"publish","type":"post","link":"https:\/\/wpml.org\/es\/announcements\/2011\/09\/multilingual-ready-custom-types-and-fields-plugin\/","title":{"rendered":"Multilingual-Ready Custom Types and Fields Plugins"},"content":{"rendered":"<p><strong>Custom data types make all the difference between a cool blogging tool and a true CMS. To date, there isn&#8217;t a complete solution for managing custom data for multilingual sites. <em>Types<\/em> and <em>Views<\/em> will change all this!<\/strong><\/p>\n<div style=\"margin: 1em; padding: 1em; border: 2pt solid green; font-size: 130%;\">\n<p>Update &#8211; <em>Types<\/em> and <em>Views<\/em> are ready.<\/p>\n<p>Get <strong><a href=\"https:\/\/toolset.com\/home\/types-manage-post-types-taxonomy-and-custom-fields\/\"><em>Types<\/em> from Toolset webiste<\/a><\/strong>.<\/p>\n<p>For <em>Views<\/em>, go to <strong><a href=\"https:\/\/toolset.com\">WP Views site<\/a><\/strong>.<\/p>\n<\/div>\n<p>In the last 5 months, we&#8217;ve been working on two major new plugins for managing and displaying custom data in WordPress. We&#8217;re less than a month away from release and it&#8217;s time to make an informal introduction.<\/p>\n<h2><em>Types<\/em> &#8211; Defines Custom Data<\/h2>\n<p>First, we need to tell WordPress what our custom data is. <em>Types<\/em> allows us to setup custom post types, taxonomy and custom fields.<\/p>\n<p><em>Types<\/em> lets you define and edit custom post types and taxonomy, and the relationship between them.<\/p>\n<figure id=\"attachment_8660\" aria-describedby=\"caption-attachment-8660\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/types-list.png\"><img decoding=\"async\" class=\"size-medium wp-image-8660\" title=\"types-list\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/types-list-300x169.png\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/types-list-300x169.png 300w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/types-list-150x84.png 150w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/types-list.png 638w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8660\" class=\"wp-caption-text\">List of custom types and taxonomies<\/figcaption><\/figure>\n<p>When you edit custom types, you get the full details, including the name, description, menu properties and all the little texts that you can choose.<\/p>\n<figure id=\"attachment_8661\" aria-describedby=\"caption-attachment-8661\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/type-edit.png\"><img decoding=\"async\" class=\"size-medium wp-image-8661\" title=\"type-edit\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/type-edit-300x242.png\" alt=\"\" width=\"300\" height=\"242\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/type-edit-300x242.png 300w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/type-edit-150x121.png 150w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/type-edit.png 716w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8661\" class=\"wp-caption-text\">Editing custom types<\/figcaption><\/figure>\n<p>The real fun begins when you start setting up custom fields for your newly created types.<\/p>\n<p>Types contains complete custom-field management for WordPress. You can setup meta-boxes, choose which fields to list in them and on which content types these boxes should display. In case you&#8217;re wondering, we borrowed some great ideas from the popular Drupal <em>CCK<\/em> module for our <em>Types<\/em>.<\/p>\n<figure id=\"attachment_8664\" aria-describedby=\"caption-attachment-8664\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/edit-group.png\"><img decoding=\"async\" class=\"size-medium wp-image-8664\" title=\"edit-group\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/edit-group-300x237.png\" alt=\"\" width=\"300\" height=\"237\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/edit-group-300x237.png 300w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/edit-group-150x118.png 150w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/edit-group.png 744w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8664\" class=\"wp-caption-text\">Editing a group<\/figcaption><\/figure>\n<p><em>Types<\/em> includes all the &#8216;regular&#8217; field types (like text fields, textarea, radio and checkboxes), as well as special fields, like image, URL, phone number, etc.<\/p>\n<p>Fields include built-in data validation. When you insert a field, <em>Types<\/em> can check that user-data is valid before it can be saved.<\/p>\n<p>Also, you can specify what to do with translations, for each field. You can choose if WPML will translate that field, copy it, or do nothing.<\/p>\n<figure id=\"attachment_8665\" aria-describedby=\"caption-attachment-8665\" style=\"width: 242px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/field-edit.png\"><img decoding=\"async\" class=\"size-medium wp-image-8665\" title=\"field-edit\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/field-edit-242x300.png\" alt=\"\" width=\"242\" height=\"300\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/field-edit-242x300.png 242w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/field-edit-121x150.png 121w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/field-edit.png 367w\" sizes=\"(max-width: 242px) 100vw, 242px\" \/><\/a><figcaption id=\"caption-attachment-8665\" class=\"wp-caption-text\">Editing a field<\/figcaption><\/figure>\n<p>Once it&#8217;s all setup, users see your new, shiny, custom edit screen. This is how the new &#8216;Program Attributes&#8217; box, which we defined above, looks like:<\/p>\n<figure id=\"attachment_8667\" aria-describedby=\"caption-attachment-8667\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/custom-field-data-entry.png\"><img decoding=\"async\" class=\"size-medium wp-image-8667\" title=\"custom-field-data-entry\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/custom-field-data-entry-300x166.png\" alt=\"\" width=\"300\" height=\"166\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/custom-field-data-entry-300x166.png 300w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/custom-field-data-entry-150x83.png 150w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/custom-field-data-entry.png 646w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8667\" class=\"wp-caption-text\">Custom fields input box<\/figcaption><\/figure>\n<h2><em>Views<\/em> &#8211; Displays Custom Data<\/h2>\n<p>So far, so good. We can tell WordPress which custom types we want, what meta-boxes to create and which fields they will contain.<\/p>\n<p>Users can now enter custom data to the site.\u00a0But, how do we display it?<\/p>\n<p>This is where <em>Views<\/em> comes to play. Views is a comprehensive package and displaying data in your site. It includes two main module:<\/p>\n<ul>\n<li><strong>Dynamic Templates<\/strong> &#8211; creates child templates without editing PHP files<\/li>\n<li><strong>Data Lists<\/strong> &#8211; queries and displays data<\/li>\n<\/ul>\n<p>The templates engine is responsible for the display of single pages. It lets you create a page template using HTML and shortcode (using a GUI). You&#8217;ll be able to create complex page templates for standard and custom data types without learning WordPress API and without using PHP. All the standard and custom fields appear in the GUI and you can customize with different properties.<\/p>\n<figure id=\"attachment_8669\" aria-describedby=\"caption-attachment-8669\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-template-edit.png\"><img decoding=\"async\" class=\"size-medium wp-image-8669\" title=\"view-template-edit\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-template-edit-300x167.png\" alt=\"\" width=\"300\" height=\"167\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-template-edit-300x167.png 300w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-template-edit-150x83.png 150w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-template-edit.png 947w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8669\" class=\"wp-caption-text\">View Template<\/figcaption><\/figure>\n<p>The lists engine is even more powerful. We call them <em>Views<\/em>. A View includes a query generator, which lets you load lists of data. It also includes a render engine for iterating through this data and displaying it.\u00a0You can insert a\u00a0<em>View<\/em>\u00a0into any WordPress content, or use as a widget.<\/p>\n<figure id=\"attachment_8670\" aria-describedby=\"caption-attachment-8670\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-edit.png\"><img decoding=\"async\" class=\"size-medium wp-image-8670\" title=\"view-edit\" src=\"http:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-edit-300x177.png\" alt=\"\" width=\"300\" height=\"177\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-edit-300x177.png 300w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-edit-150x88.png 150w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-edit-1024x606.png 1024w, https:\/\/wpml.org\/wp-content\/uploads\/2011\/09\/view-edit.png 1176w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8670\" class=\"wp-caption-text\">View editor<\/figcaption><\/figure>\n<p><em>Views<\/em> is a big plugin and deserves a post of its own. I&#8217;ll write about it, with full details, very soon.<\/p>\n<h2>Fully WPML Compatible<\/h2>\n<p>Of course, <em>Types<\/em> and <em>Views<\/em> are designed for WPML compatibility.<\/p>\n<p>When you create new data types, it&#8217;s fully multilingual. The edit pages will show in the correct language. Every piece of text that you enter to define a custom type will appear in WPML&#8217;s String Translation screen.<\/p>\n<p>When you insert a View into your content or use a Dynamic Template, you&#8217;ll discover that it&#8217;s multilingual as well. You can translate strings using WPML&#8217;s String Translation and meta-HTML using the Translation Editor.<\/p>\n<h2>When, Where and How Much?<\/h2>\n<p>Right now, we&#8217;re at the testing phase for both <em>Types<\/em> and <em>Views<\/em>. We&#8217;re building reference designs that use <em>Types<\/em>, <em>Views<\/em> and WPML and are going through issues that come up. We should have a complete clean release in about a month.<\/p>\n<p><strong><em>Types<\/em> will be a free plugin<\/strong>, available to download through the WordPress plugins repository.\u00a0<strong><em>Views<\/em> will be a paid plugin.<\/strong> The planned cost will be $50. We&#8217;ll have final details as we release both plugins.<\/p>\n<p>As soon as we have beta versions, I&#8217;ll write more about it. We&#8217;ll be giving away free <em>Views<\/em> accounts for the first folks to test and use it.<\/p>\n<div style=\"margin: 1em; padding: 1em; border: 1pt solid #00FF00; background-color: #f0fff0;\">\n<h3>Quick Note about WPML 2.4.0<\/h3>\n<p>In case you&#8217;re wondering, we&#8217;re also pretty close to the next major WPML release. Mihai and Daniel are busy at work on the new WPML features at this very moment. The menu-sync for WPML 2.4.0 is nearly complete. We&#8217;re working to iron out a few last bugs and we&#8217;ll be ready with a first beta version of WPML 2.4.0. I&#8217;ll write all about it as soon as it&#8217;s ready.<\/p>\n<p>And yes, <a href=\"https:\/\/www.onthegosystems.com\/jobs\/\">we&#8217;re hiring<\/a>!<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Custom data types make all the difference between a cool blogging tool and a true CMS. To date, there isn&#8217;t a complete solution for managing custom data for multilingual sites. Types and Views will change all this! Update &#8211; Types and Views are ready. Get Types from Toolset webiste. For Views, go to WP Views [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"ep_exclude_from_search":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-8658","post","type-post","status-publish","format-standard","hentry","category-announcements"],"_links":{"self":[{"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/posts\/8658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/comments?post=8658"}],"version-history":[{"count":8,"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/posts\/8658\/revisions"}],"predecessor-version":[{"id":3755915,"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/posts\/8658\/revisions\/3755915"}],"wp:attachment":[{"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/media?parent=8658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/categories?post=8658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpml.org\/es\/wp-json\/wp\/v2\/tags?post=8658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}