qTranslate obtener contenido por idioma [cerrado]

9

¿Cómo se obtiene el contenido por id y por idioma específico?

Necesito mostrar dos contenidos de idioma específicos en una página, independientemente del idioma de la sesión. Hasta ahora, este es mi progreso: esto funciona bien para obtener el contenido por id del lenguaje activo:

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

¿Cómo aplicar un idioma específico al filtro?

Gracias por la ayuda. Sziro

usuario1348490
fuente

Respuestas:

15

Debe usar las funciones nativas de qTranslate para hacer su trabajo. Use qtrans_use, esa es la función que hace todo el trabajo en qTranslate. Está definido en qtranslate_core.php, línea 747

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

¡Úselo en el contenido sin procesar de la publicación!

Prueba este código:

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

¡En este ejemplo, devolverá la versión en inglés de su texto! ¡Sustitúyalo con el identificador de idioma deseado para traducir a otro idioma!

keatch
fuente
Sí, me alegro de haberte ayudado.
keatch
Esto funciona perfectamente, pero me tomó algunos intentos darme cuenta de que el get_page($id)bit es importante. En el momento en que está representando la vista, qTranslate ya ha modificado el contenido $postpara que solo contenga el idioma actual, por lo que debe cargarlo nuevamente para obtener las opciones para todos los idiomas.
Marcus Downing
@keatch, ¿pueden ayudarme con este complemento que sigue mostrando texto en inglés siempre, lo he instalado correctamente, necesito hacer otros cambios en el código? o funcionará normalmente sin hacer nada
Jack
Si aún necesita ayuda, puede contactarme personalmente o preguntar aquí. Estaré encantado de ayudar. @Jack
Lenin
1
@ShivanRaptor para obtener el identificador de idioma actual se puede utilizar de muchas maneras, pero más recomendado es: qtrans_getLanguage().
Lenin