qTranslate obter conteúdo por idioma [fechado]


9

Como você obtém o conteúdo por ID e por idioma específico?

Preciso exibir dois conteúdos de idiomas específicos em uma página, independentemente do idioma da sessão. Até agora, este é o meu progresso: isso funciona bem para obter o conteúdo por ID do idioma ativo:

<?php $id=47; $post = get_page($id); $content = apply_filters('the_content', $post->post_content); echo $content;  ?>

Como aplicar um idioma específico ao filtro?

Obrigado pela ajuda. Sziro

Respostas:


15

Você deve usar as funções nativas qTranslate para fazer seu trabalho. Use qtrans_use, essa é a função que realiza todo o trabalho em qTranslate. Está definido em qtranslate_core.php, linha 747

function qtrans_use($lang, $text, $show_available=false) 

Use-o no conteúdo bruto da postagem!

Tente este código:

<?php 
 $id=47; $post = get_page($id); 
 $content = qtrans_use('en', $post->post_content,false); 
 echo $content;  
?>

Neste exemplo, ele retornará a versão em inglês do seu texto! Substitua-o pelo identificador de idioma desejado para traduzir para outro idioma!


Sim, feliz por ter ajudado!
— Keatch 12/05

Isso funciona perfeitamente, mas levei algumas tentativas para perceber que a parte get_page($id)é importante. No momento em que você renderiza a exibição, o qTranslate já modificou o conteúdo $postpara conter apenas o idioma atual, portanto, você precisa carregá-lo novamente para obter as opções para todos os idiomas.
— Marcus Downing

@keatch, você pode me ajudar com este plugin, ele continua mostrando o texto em inglês sempre, eu o instalei corretamente, preciso fazer outras alterações no código? ou ele vai trabalhar normalmente sem fazer nada
— Jack

Se você ainda precisar de ajuda, entre em contato comigo pessoalmente ou pergunte aqui. Eu ficaria feliz em ajudar. @Jack
— Lenin

11
@ShivanRaptor para obter o idioma atual identificador você pode usar muitas maneiras, mas o mais recomendado é: qtrans_getLanguage().
— Lenin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.