qTranslate obtener contenido por idioma

12 may 2012, 15:05:38
Vistas: 27.3K
Votos: 9

¿Cómo obtener el contenido por ID y por idioma específico?

Necesito mostrar contenido en dos idiomas 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 idioma 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

0
Todas las respuestas a la pregunta 1
8
15

Debes utilizar las funciones nativas de qTranslate para realizar tu trabajo. Usa qtrans_use, que es la función que hace todo el trabajo en qTranslate. Está definida en qtranslate_core.php, línea 747

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

¡Úsala en el contenido crudo 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 tu texto! ¡Sustitúyelo con el identificador del idioma deseado para traducir a otro idioma!

12 may 2012 16:01:36
Comentarios

¡Sí, me alegra haberte ayudado!

keatch keatch
12 may 2012 17:58:56

Esto funciona perfectamente, pero me tomó varios intentos darme cuenta de que la parte de get_page($id) es importante. Para cuando estás renderizando la vista, qTranslate ya ha modificado el contenido de $post para que solo contenga el idioma actual, por lo que necesitas cargarlo nuevamente para obtener las opciones para todos los idiomas.

Marcus Downing Marcus Downing
26 jul 2012 15:57:17

@keatch ¿puedes ayudarme con este plugin? Sigue mostrando siempre texto en inglés, lo he instalado correctamente, ¿necesito hacer algún otro cambio en el código? ¿O funcionará normalmente sin hacer nada?

Jack Jack
10 sept 2012 13:31:19

Si aún necesitas ayuda, puedes contactarme personalmente o preguntar aquí. Estaré encantado de ayudarte. @Jack

Lenin Lenin
19 ene 2013 18:54:47

Pregunta adicional, ¿cómo obtener el identificador del idioma actual?

Raptor Raptor
15 abr 2013 07:21:18

@ShivanRaptor para obtener el identificador del idioma actual puedes usar varias formas, pero la más recomendada es: qtrans_getLanguage().

Lenin Lenin
20 oct 2013 13:45:24

Error fatal: Llamada a función no definida qtrans_use() en el archivo index.php cuando usé el código anterior

vrajesh vrajesh
14 oct 2015 10:13:33

Para @vrajesh y otros usuarios de qtranslate-x, usa qtranxf_use. La función está definida en qtranslate-core.php como function qtranxf_use($lang, $text, $show_available=false, $show_empty=false)

Davey Davey
13 feb 2017 12:31:51
Mostrar los 3 comentarios restantes