qTraslate ottenere contenuti per lingua [chiuso]


9

Come si ottengono i contenuti per ID e per lingua specifica?

Devo visualizzare due contenuti linguistici specifici in una pagina, indipendentemente dalla lingua della sessione. Finora, questo è il mio progresso: funziona benissimo per ottenere il contenuto in base all'ID della lingua attiva:

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

Come applicare una lingua specifica al filtro?

Grazie per l'aiuto. Sziro

Risposte:


15

È necessario utilizzare le funzioni native di qTranslate per svolgere il proprio lavoro. Utilizzare qtrans_use, questa è la funzione che fa tutto il lavoro in qTranslate. È definito in qtranslate_core.php, linea 747

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

Usalo sul contenuto non elaborato del post!

Prova questo codice:

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

In questo esempio, restituirà la versione inglese del tuo testo! Sostituiscilo con l'identificatore di lingua desiderato per tradurre in un'altra lingua!


Sì, felice di averti aiutato!
Keatch,

Funziona perfettamente, ma ci sono voluti alcuni tentativi per rendermi conto che il get_page($id)bit è importante. Al momento del rendering della vista, qTranslate ha già modificato i contenuti in modo $postda contenere solo la lingua corrente, quindi è necessario caricarla di nuovo per ottenere le opzioni per tutte le lingue.
Marcus Downing,

@keatch puoi aiutarmi con questo plugin che continua a mostrare sempre il testo in inglese, l'ho installato correttamente, devo apportare altre modifiche al codice? o funzionerà normalmente senza fare nulla
Jack

Se hai ancora bisogno di aiuto puoi contattarmi personalmente o chiedere qui. Sarei felice di dare una mano. @Jack
Lenin,

1
@ShivanRaptor per ottenere la lingua corrente identificatore è possibile utilizzare molti modi, ma più consigliato è: qtrans_getLanguage().
Lenin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.