qTranslate obține conținut după limbă

12 mai 2012, 15:05:38
Vizualizări: 27.3K
Voturi: 9

Cum poți obține conținutul după id și după o limbă specifică?

Am nevoie să afișez conținut în două limbi specifice într-o pagină, indiferent de limba sesiunii. Până acum, acesta este progresul meu: acest cod funcționează bine pentru obținerea conținutului după id în limba activă:

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

Cum pot aplica o limbă specifică la filtru?

Mulțumesc pentru ajutor. Sziro

0
Toate răspunsurile la întrebare 1
8
15

Trebuie să utilizați funcțiile native ale qTranslate pentru a vă face treaba. Folosiți qtrans_use, aceasta este funcția care face toată munca în qTranslate. Este definită în qtranslate_core.php, linia 747

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

Utilizați-o pe conținutul brut al articolului!

Încercați acest cod:

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

În acest exemplu, va returna versiunea în engleză a textului dumneavoastră! Înlocuiți-o cu identificatorul limbii dorite pentru a traduce în altă limbă!

12 mai 2012 16:01:36
Comentarii

Da, mă bucur că te-am putut ajuta!

keatch keatch
12 mai 2012 17:58:56

Funcționează perfect, dar mi-a luat câteva încercări să realizez că partea cu get_page($id) este importantă. Până când ajungi să afișezi conținutul, qTranslate a modificat deja conținutul lui $post să conțină doar limba curentă, așa că trebuie să-l încarci din nou pentru a obține opțiunile pentru toate limbile.

Marcus Downing Marcus Downing
26 iul. 2012 15:57:17

@keatch poți să mă ajuți cu acest plugin? continuă să afișeze mereu text în engleză, l-am instalat corect, trebuie să fac alte modificări în cod? sau ar trebui să funcționeze normal fără alte interacțiuni?

Jack Jack
10 sept. 2012 13:31:19

Dacă încă ai nevoie de ajutor, poți să mă contactezi personal sau să întrebi aici. Cu plăcere te voi ajuta. @Jack

Lenin Lenin
19 ian. 2013 18:54:47

întrebare laterală, cum pot obține identificatorul limbii curente?

Raptor Raptor
15 apr. 2013 07:21:18

@ShivanRaptor pentru a obține identificatorul limbii curente poți folosi mai multe metode, dar cea mai recomandată este: qtrans_getLanguage().

Lenin Lenin
20 oct. 2013 13:45:24

Eroare fatală: Apel către funcția nedefinită qtrans_use() în fișierul idex.php când am folosit codul de mai sus

vrajesh vrajesh
14 oct. 2015 10:13:33

Pentru @vrajesh și alți utilizatori ai qtranslate-x, folosiți qtranxf_use. Funcția este definită în qtranslate-core.php ca function qtranxf_use($lang, $text, $show_available=false, $show_empty=false)

Davey Davey
13 feb. 2017 12:31:51
Arată celelalte 3 comentarii