O WPML permite que você utilize URLs únicas para conteúdo personalizado em diferentes idiomas. Isso inclui a tradução do slug do post, bem como o nome do tipo de post personalizado.

As URLs para tipos de post personalizados incluem o nome do tipo de post e o nome da página. Normalmente, tipos de posts personalizados em diferentes idiomas serão da seguinte forma:

  • /casas/minha-casa-verde/
  • /houses/my-green-house/

A primeira parte do URL, em negrito, é o tipo de post. A segunda parte é o nome da página.

Para traduzir o nome das páginas, clique no botão Editar ao lado do campo permalink no editor de posts. Como o WPML usa posts diferentes para cada idioma, você pode definir seus nomes individualmente.

Editando permalinks da página

Traduzindo nomes de tipos de post personalizados

Para permitir que o WPML traduza o nome de tipos de post personalizados, você precisa usar o módulo String Translation.

Declarando tipos de post personalizados em PHP

Se você estiver registrando tipos de post personalizados manualmente, com PHP, o WPML obterá essas chamadas e registrará o slug para tradução.

Declarando tipos de post personalizados com o Types

Para definir tipos de post personalizados sem usar PHP, você pode utilizar nosso plugin Types. Types declara tipos de post personalizados automaticamente, de forma que você possa traduzi-los com o WPML.

Use o Types para editar um tipo de post personalizado. Se não estiver ativado para tradução de nomes, você verá um link para a tela de configuração do WPML:

Link no Types para configurar a localização de slug no WPML

Ativando a Localização de Nomes de Tipos de Post Personalizados no WPML

Vá para WPML->Gerenciamento da Tradução->Configuração de Conteúdo Multilíngue. Você verá a nova seção para localização de slugs.

Os passos para ativar a localização de nome de tipos de post personalizados são:

1. Habilitar a tradução do tipo de post personalizado

Definir o tipo de post personalizado como Traduzir

2. Habilitar tradução de slugs para o site

Clique na caixa de seleção para permitir a localização de nomes de tipos de posts para o site inteiro

3. Selecionar para usar slugs diferentes em diferentes idiomas

Clique na caixa de seleção para permitir a localização do nome de cada tipo de post personalizado

Você agora está pronto para traduzir os nomes dos tipos de post personalizados. Adicione as traduções, clique no botão Salvar e elas serão exibidas nas URLs.

Traduzindo arquivos de tipo de post personalizados

Quando você registra manualmente tipos de post personalizados, o WordPress lhe permite definir um slug de arquivo diferente usando:

has_archive

Desde a versão 3.2, o WPML permite a atribuição de has_archive a uma string. No entanto, se o valor da string for algo diferente da chave do tipo de post personalizado, o arquivo será redefinido automaticamente para a chave registrada.

Exemplo:


add_action( 'init', 'create_post_type' );

function create_post_type() {

    register_post_type( 'book',

        array(

            'labels' => array(

                'name' => __( 'Books', 'textdomain' ),

                'singular_name' => __( 'Book', 'textdomain' )

            ),

            'public' => true,

            'has_archive' => __( 'book-archive', 'textdomain' ),

            'publicly_queryable' => true,

            'exclude_from_search' => false,

            'show_ui' => true,

            'show_in_menu' => true,

            'query_var' => true,

            'rewrite' => array('slug' => 'book'),

            'supports' =>array('title','editor', 'custom-fields','thumbnail')

        )

    );

}

Embora “has_archive” tenha sido definido para “book-archive”, o WPML usará “book”. Isso é o que você verá no permalink do post.