qTranslate ottenere contenuto per lingua
Come si ottiene il contenuto per ID e per una lingua specifica?
Ho bisogno di visualizzare contenuti in due lingue specifiche in una pagina, indipendentemente dalla lingua della sessione. Finora, questo è il mio progresso: questo funziona bene per ottenere il contenuto per ID nella lingua attiva:
<?php $id=47; $post = get_page($id); $content = apply_filters('the_content', $post->post_content); echo $content; ?>
Come si applica una lingua specifica al filtro?
Grazie per l'aiuto. Sziro

Devi utilizzare le funzioni native di qTranslate per svolgere il tuo lavoro. Usa qtrans_use
, che è la funzione che fa tutto il lavoro in qTranslate. È definita in qtranslate_core.php, riga 747
function qtrans_use($lang, $text, $show_available=false)
Usala sul contenuto grezzo 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 in inglese del tuo testo! Sostituisci con l'identificatore della lingua desiderata per tradurre in un'altra lingua!

Funziona perfettamente, ma mi ci sono voluti alcuni tentativi per capire che la parte get_page($id)
è importante. Quando stai renderizzando la vista, qTranslate ha già modificato i contenuti di $post
per includere solo la lingua corrente, quindi devi ricaricarlo per ottenere le opzioni per tutte le lingue.

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

Se hai ancora bisogno di aiuto puoi contattarmi personalmente o chiedere qui. Sarò felice di aiutarti. @Jack

domanda a margine, come ottenere l'identificatore della lingua corrente?

@ShivanRaptor per ottenere l'identificatore della lingua corrente puoi usare molti modi ma il più raccomandato è: qtrans_getLanguage()
.

Errore fatale: Chiamata a funzione non definita qtrans_use() nel file index.php quando ho utilizzato il codice sopra
