no meu tema, quero definir uma série de tipos de postagem personalizados e taxonomias personalizadas, cada um com sua própria lesma personalizada; o idioma base do meu tema é inglês, portanto, as lesmas estarão no idioma inglês
por exemplo, ao definir a lesma do args personalizado do tipo "produto":
'rewrite' => array( 'slug' => 'product' ),
existe alguma maneira de traduzir o "slug" através de arquivos po / mo? posso colocar como:
'rewrite' => array( 'slug' => __('product', 'mytextdomain') )
ou não vai funcionar? Qual é a prática atual para localizar lesmas?
prensa
com uma lesma definida comoprensa
. Usando o WPML, o slug da página traduzida épress
como não pode serprensa
novamente: / pt / press / que não exibe nada (observe que agora, clicar no link ES não o leva de volta a / prensa /). MAS, se você visitar / pt / prensa / ele funciona ...Respostas:
Eu não tentaria localizar suas lesmas. Em vez disso, por que não dar aos usuários a opção de alterá-los adicionando outro campo à página de configurações do link permanente?
Conecte-se
load-options-permalink.php
e configure algumas coisas para capturar os$_POST
dados e salvar sua lesma. Adicione também um campo de configurações à página.Em seguida, a função de retorno de chamada para o campo de configurações:
Então, quando você registrar seu tipo de postagem, pegue a lesma com
get_option
. Se não estiver lá, use o seu padrão.Aqui está a parte do campo de configurações como um plug-in https://gist.github.com/1275867
EDIT: Outra opção
Você também pode alterar a lesma com base no que é definido na
WPLANG
constante.Basta escrever uma função rápida que armazena dados ...
Em seguida, obtenha a lesma onde você registra seu tipo de postagem personalizado.
A melhor opção, IMO, seria oferecer ao usuário uma opção e fornecer padrões sólidos:
fonte
wpse30021
?Se isso não funcionar, por que você simplesmente não faz:
fonte
Estou fazendo exatamente isso em um tema que estamos desenvolvendo. Está disponível em 5 idiomas distintos e cada idioma possui um conjunto de categorias traduzido. O primeiro componente do URL no tema é analisado para determinar qual idioma é usado, no formato de país:
E as categorias traduzidas são analisadas como componentes adicionais da URL.
O URL é analisado na
parse_request
fase:Este exemplo é desprovido de verificações necessárias, mas serve apenas como exemplo.
Existem desvantagens nessa abordagem, é claro, mas ela permite URLs naturais em todos os idiomas. As principais desvantagens que vejo são:
1) Não utiliza o mecanismo de ligação permanente. Provavelmente, isso pode ser estendido para que as regras de permalink adequadas para todos os idiomas sejam geradas e o parse_request não seja necessário, mas fazê-lo para todos os idiomas envolveria carregar um arquivo MO após outro em um loop, e eu não saber o quão bem isso é suportado.
2) Se um tradutor alterar uma lesma, os links serão invalidados.
fonte
Você poderia tentar isso no seu
functions.php
como visto aqui
fonte
Eu recomendaria não fazer slugs traduzíveis .
A tradução é voltada para o usuário conteúdo do site . As lesmas são usadas internamente e são marginalmente "voltadas para o público" por meio de reescritas de URL - e os URLs não devem ser traduzíveis .
Então: deixe suas lesmas em paz, como você as define. Crie apenas strings traduzíveis destinadas ao consumo público .
fonte