{"id":101,"date":"2012-06-14T15:13:04","date_gmt":"2012-06-14T13:13:04","guid":{"rendered":"http:\/\/alexis.nomine.fr\/en\/?p=101"},"modified":"2013-04-17T10:41:52","modified_gmt":"2013-04-17T08:41:52","slug":"multilingual-press-add-custom-post-types","status":"publish","type":"post","link":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/","title":{"rendered":"Multilingual Press (free) : add custom post type support"},"content":{"rendered":"<div class=\"box-info\">17\/04\/2012: Updated for Multilingual Press 1.0.3<\/div>\n<p><a title=\"Multilingual Press\" href=\"http:\/\/wordpress.org\/extend\/plugins\/multilingual-press\/\" target=\"_blank\">Multilingual Press<\/a>\u00a0plugin allows to have a multilingual WordPress, using a multisite installation.\u00a0It does his job very well except it works only with posts and pages for the free version. If you want to enable it on your custom post types, you can either buy the pro version or follow two simple steps, after the break.<!--more--><\/p>\n<div class=\"box-hint\">For this example, I'll add support for two post types named \"book\" and \"gallery\" (change according to your needs):<\/div>\n<p>Open\u00a0\/wp-content\/plugins\/multilingual-press\/multilingual-press.php in your favorite editor<br \/>\n- Line 655, replace :<\/p>\n<pre class=\"lang-php\"><code>if ( 'post' != $postdata[ 'post_type'] &amp;&amp; 'page' != $postdata[ 'post_type'] )\r\n\treturn;<\/code><\/pre>\n<p>by :<\/p>\n<pre class=\"lang-php\"><code>if ( !in_array( $postdata['post_type'], array( 'post', 'page', 'book', 'gallery' ) ) )\r\n\treturn;<\/code><\/pre>\n<p>- Line 763, replace :<\/p>\n<pre class=\"lang-php\"><code>public function add_meta_boxes() {\r\n\tglobal $post;\r\n\t\/\/ Do we have linked elements?\r\n\t$linked = mlp_get_linked_elements( $post->ID );\r\n\tif ( ! $linked ) {\r\n\t\tadd_meta_box( 'multilingual_press_translate', __( 'Multilingual Press: Translate Post', $this->get_textdomain() ), array( $this, 'display_meta_box_translate' ), 'post', 'normal', 'high' );\r\n\t\tadd_meta_box( 'multilingual_press_translate', __( 'Multilingual Press: Translate Page', $this->get_textdomain() ), array( $this, 'display_meta_box_translate' ), 'page', 'normal', 'high' );\r\n\t\treturn;\r\n\t}\r\n\t\/\/ Register metaboxes\r\n\tadd_meta_box( 'multilingual_press_link', __( 'Multilingual Press: Linked posts', $this->get_textdomain() ), array( $this, 'display_meta_box' ), 'post', 'normal', 'high' );\r\n\tadd_meta_box( 'multilingual_press_link', __( 'Multilingual Press: Linked pages', $this->get_textdomain() ), array( $this, 'display_meta_box' ), 'page', 'normal', 'high' );\r\n}\r\n<\/code><\/pre>\n<p>by :<\/p>\n<pre class=\"lang-php\"><code>public function add_meta_boxes() {\r\n\tglobal $post;\r\n\t$post_types = array('post', 'page', 'book', 'gallery');\r\n\t\/\/ Do we have linked elements?\r\n\t$linked = mlp_get_linked_elements( $post->ID );\r\n\tforeach($post_types as $post_type){\r\n\t\tif ( ! $linked ) {\r\n\t\t\tadd_meta_box( 'multilingual_press_translate', __( 'Multilingual Press: Translate Post', $this->get_textdomain() ), array( $this, 'display_meta_box_translate' ), $post_type, 'normal', 'high' );\r\n\t\t} else {\r\n\t\t\tadd_meta_box( 'multilingual_press_link', __( 'Multilingual Press: Linked posts', $this->get_textdomain() ), array( $this, 'display_meta_box' ), $post_type, 'normal', 'high' );\r\n\t\t}\r\n\t}\r\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>17\/04\/2012: Updated for Multilingual Press 1.0.3 Multilingual Press\u00a0plugin allows to have a multilingual WordPress, using a multisite installation.\u00a0It does his job very well except it works only with posts and pages for the free version. If you want to enable it on your custom post types, you can either buy the pro version or follow [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":121,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[13],"tags":[14,10],"class_list":["post-101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-multilingual-press","tag-tips-tricks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Multilingual Press (free) : add custom post type support - Nomine Web Creations<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alexis Nomin\u00e9\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/\"},\"author\":{\"name\":\"Alexis Nomin\u00e9\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#\\\/schema\\\/person\\\/3b5fe5cc50f1203f12855f8dee331109\"},\"headline\":\"Multilingual Press (free) : add custom post type support\",\"datePublished\":\"2012-06-14T13:13:04+00:00\",\"dateModified\":\"2013-04-17T08:41:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/\"},\"wordCount\":106,\"commentCount\":4,\"image\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/files\\\/2012\\\/06\\\/WordPress.png\",\"keywords\":[\"Multilingual Press\",\"tips &amp; tricks\"],\"articleSection\":[\"WordPress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/\",\"url\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/\",\"name\":\"Multilingual Press (free) : add custom post type support - Nomine Web Creations\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/files\\\/2012\\\/06\\\/WordPress.png\",\"datePublished\":\"2012-06-14T13:13:04+00:00\",\"dateModified\":\"2013-04-17T08:41:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#\\\/schema\\\/person\\\/3b5fe5cc50f1203f12855f8dee331109\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/2012\\\/06\\\/14\\\/multilingual-press-add-custom-post-types\\\/#primaryimage\",\"url\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/files\\\/2012\\\/06\\\/WordPress.png\",\"contentUrl\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/files\\\/2012\\\/06\\\/WordPress.png\",\"width\":\"256\",\"height\":\"256\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/\",\"name\":\"Nomine Web Creations\",\"description\":\"Websites creation, development, web design\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/#\\\/schema\\\/person\\\/3b5fe5cc50f1203f12855f8dee331109\",\"name\":\"Alexis Nomin\u00e9\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d01656b8ca51f9a4999518e34d1477667b1bdc8abf11eea3430e03a78bcf48e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d01656b8ca51f9a4999518e34d1477667b1bdc8abf11eea3430e03a78bcf48e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d01656b8ca51f9a4999518e34d1477667b1bdc8abf11eea3430e03a78bcf48e?s=96&d=mm&r=g\",\"caption\":\"Alexis Nomin\u00e9\"},\"url\":\"https:\\\/\\\/alexis.nomine.fr\\\/en\\\/blog\\\/author\\\/alexis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Multilingual Press (free) : add custom post type support - Nomine Web Creations","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/","twitter_misc":{"Written by":"Alexis Nomin\u00e9","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/#article","isPartOf":{"@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/"},"author":{"name":"Alexis Nomin\u00e9","@id":"https:\/\/alexis.nomine.fr\/en\/#\/schema\/person\/3b5fe5cc50f1203f12855f8dee331109"},"headline":"Multilingual Press (free) : add custom post type support","datePublished":"2012-06-14T13:13:04+00:00","dateModified":"2013-04-17T08:41:52+00:00","mainEntityOfPage":{"@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/"},"wordCount":106,"commentCount":4,"image":{"@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/#primaryimage"},"thumbnailUrl":"https:\/\/alexis.nomine.fr\/en\/files\/2012\/06\/WordPress.png","keywords":["Multilingual Press","tips &amp; tricks"],"articleSection":["WordPress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/","url":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/","name":"Multilingual Press (free) : add custom post type support - Nomine Web Creations","isPartOf":{"@id":"https:\/\/alexis.nomine.fr\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/#primaryimage"},"image":{"@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/#primaryimage"},"thumbnailUrl":"https:\/\/alexis.nomine.fr\/en\/files\/2012\/06\/WordPress.png","datePublished":"2012-06-14T13:13:04+00:00","dateModified":"2013-04-17T08:41:52+00:00","author":{"@id":"https:\/\/alexis.nomine.fr\/en\/#\/schema\/person\/3b5fe5cc50f1203f12855f8dee331109"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/alexis.nomine.fr\/en\/blog\/2012\/06\/14\/multilingual-press-add-custom-post-types\/#primaryimage","url":"https:\/\/alexis.nomine.fr\/en\/files\/2012\/06\/WordPress.png","contentUrl":"https:\/\/alexis.nomine.fr\/en\/files\/2012\/06\/WordPress.png","width":"256","height":"256"},{"@type":"WebSite","@id":"https:\/\/alexis.nomine.fr\/en\/#website","url":"https:\/\/alexis.nomine.fr\/en\/","name":"Nomine Web Creations","description":"Websites creation, development, web design","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alexis.nomine.fr\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/alexis.nomine.fr\/en\/#\/schema\/person\/3b5fe5cc50f1203f12855f8dee331109","name":"Alexis Nomin\u00e9","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1d01656b8ca51f9a4999518e34d1477667b1bdc8abf11eea3430e03a78bcf48e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1d01656b8ca51f9a4999518e34d1477667b1bdc8abf11eea3430e03a78bcf48e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1d01656b8ca51f9a4999518e34d1477667b1bdc8abf11eea3430e03a78bcf48e?s=96&d=mm&r=g","caption":"Alexis Nomin\u00e9"},"url":"https:\/\/alexis.nomine.fr\/en\/blog\/author\/alexis\/"}]}},"jetpack_featured_media_url":"https:\/\/alexis.nomine.fr\/en\/files\/2012\/06\/WordPress.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/posts\/101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/comments?post=101"}],"version-history":[{"count":0,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/posts\/101\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/media\/121"}],"wp:attachment":[{"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/media?parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/categories?post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alexis.nomine.fr\/en\/wp-json\/wp\/v2\/tags?post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}