Se você está utilizando o plugin Polylang para fazer a tradução do seu site em WordPress, vai perceber que na versão gratuita do plugin, não é possível traduzir os slug da archive de post_types.
Para resolver isso, existe um plugin incremental que você pode instalar e depois usar um add_filter no functions.php do seu site.
Primeiro
Instale o plugin no seu wordpress Polylang – Translate URL Rewrite Slugs
Clique no botão verde “Clone or Download” e salve no seu computador. Depois vá no seu WordPress em Plugins > Adicionar Novo e clique no botão Fazer Upload e envie o arquivo que você baixou.
Segundo
No functions.php do seu site, adicione o add_filter disponibilizado pelo plugin e insira a tradução das suas url. Veja no exemplo abaixo a tradução de um post_type chamado calendario para EN:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Translate String add_filter('pll_translated_post_type_rewrite_slugs', function($post_type_translated_slugs) { // Add translation for "product" post type. $post_type_translated_slugs = array( 'calendario' => array( 'pt' => array( 'has_archive' => true, 'rewrite' => array( 'slug' => 'calendario', ), ), 'en' => array( 'has_archive' => true, 'rewrite' => array( 'slug' => 'calendar', ), ), ), ); return $post_type_translated_slugs; }); |
Terceiro
Agora você precisa ir novamente no seu painel de WordPress e mandar refazer os permalinks: Configurações > Links Permanentes verifique se está marcado “Nome do post” e clique em “Salvar Alterações”.
Muito bom, me ajudou bastante.
Obrigado
Muito boa a dica, parabéns. É possível traduzir custom taxonomy?
que ótimo, obrigada!