qTranslate get content by language [fermé]

9

Comment obtenez-vous le contenu par identifiant et par langue spécifique?

J'ai besoin d'afficher deux contenus linguistiques spécifiques dans une page, quelle que soit la langue de la session. Jusqu'à présent, c'est ma progression: cela fonctionne très bien pour obtenir le contenu par id de la langue active:

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

Comment appliquer une langue spécifique au filtre?

Merci pour l'aide. Sziro

user1348490
la source

Réponses:

15

Vous devez utiliser les fonctions natives qTranslate pour faire votre travail. Utilisez qtrans_use, c'est la fonction qui fait tout le travail dans qTranslate. Il est défini dans qtranslate_core.php, ligne 747

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

Utilisez-le sur le contenu brut de la publication!

Essayez ce code:

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

Dans cet exemple, il renverra la version anglaise de votre texte! Remplacez-le par l'identifiant de langue souhaité pour traduire dans une autre langue!

keatch
la source
Oui, heureux de t'avoir aidé!
keatch
Cela fonctionne parfaitement, mais il m'a fallu quelques tentatives pour réaliser que le get_page($id)bit est important. Au moment où vous effectuez le rendu de la vue, qTranslate a déjà modifié le contenu de $postpour ne contenir que la langue actuelle, vous devez donc la charger à nouveau pour obtenir les options pour toutes les langues.
Marcus Downing
@keatch pouvez-vous m'aider avec ce plugin qui continue d'afficher toujours du texte anglais, je l'ai installé correctement, dois-je apporter d'autres modifications au code? ou cela fonctionnera normalement sans rien faire
Jack
Si vous avez encore besoin d'aide, vous pouvez me contacter personnellement ou demander ici. Je serais ravi de vous aider. @Jack
Lénine
1
@ShivanRaptor pour obtenir la langue courante identifiant vous pouvez utiliser de nombreuses façons , mais la plus recommandée est la suivante : qtrans_getLanguage().
Lénine