Para tornar multilíngues os tipos personalizados no WordPress, é preciso que eles sejam declarados conforme o procedimento recomendado pelo WordPress:

  1. Certifique-se de que eles estejam registrados no gancho init.
  2. Nunca use uma chamada GetText para o tipo de post personalizado.
  3. Sempre use as constantes TRUE e FALSE. 0 e 1 talvez não funcionem.
  4. Consulte o WordPress Codex para a documentação completa – http://codex.wordpress.org/Function_Reference/register_post_type

Veja abaixo um exemplo em uso no nosso próprio site.

<?php
add_action('init', 'icl_theme_register_custom', 0);
function icl_theme_register_custom() {
 register_taxonomy(
 'service_type',
 array('post', 'page'),
 array(
 'hierarchical' => true,
 'label' => 'Service type',
 'query_var' => true,
 'rewrite' => true
 )
 );

 register_post_type( 'testimonial',
 array(
 'description' => __( 'Testimonials.' ),
 'labels' => array(
 'name' => __( 'Testimonials' ),
 'singular_name' => __( 'Testimonial' ),
 'add_new' => __( 'Add New' ),
 'add_new_item' => __( 'Add New Testimonial' ),
 'edit' => __( 'Edit' ),
 'edit_item' => __( 'Edit Testimonial' ),
 'new_item' => __( 'New Testimonial' ),
 'view' => __( 'View Testimonial' ),
 ...

Daí, você pode escolher se esses tipos personalizados são traduzíveis ou não.

Acesse WPML -> Configurações e role a página até a seção do tipo personalizado que deseja tornar traduzível. Por exemplo, você poderia rolar até a seção Tradução de taxonomias.

Tornando traduzível uma taxonomia personalizada
Tornando traduzível uma taxonomia personalizada

Quando os tipos personalizados são traduzíveis, eles têm atributos de idioma. Cada entrada aparecerá apenas para um idioma específico, e você poderá traduzi-las para outros idiomas.

O WPML filtra as entradas por idioma quando as chamadas à API do WordPress são usadas para carregá-las.

Quando os tipos personalizados não são traduzíveis, o WPML não os filtra, e as entradas aparecem para todos os idiomas. Isso é útil caso os dados não sejam exclusivos para cada idioma.

Salvar