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

user1348490
fonte

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!

keatch
fonte
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