q Przetłumacz uzyskaj treść według języka [zamknięte]


9

Jak uzyskać treść według identyfikatora i określonego języka?

Muszę wyświetlić dwie określone treści językowe na stronie, niezależnie od języka sesji. Do tej pory to mój postęp: działa to dobrze w przypadku pobierania treści według identyfikatora aktywnego języka:

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

Jak zastosować określony język do filtra?

Dzięki za pomoc. Sziro

Odpowiedzi:


15

Do wykonania pracy należy użyć natywnych funkcji qTranslate. Użyj qtrans_use, to jest funkcja, która wykonuje całą pracę w qTranslate. Jest zdefiniowany w qtranslate_core.php, linia 747

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

Użyj go na surowej treści postu!

Wypróbuj ten kod:

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

W tym przykładzie zwróci angielską wersję tekstu! Zastąp go odpowiednim identyfikatorem języka, aby przetłumaczyć na inny język!


Tak, cieszę się, że ci pomogłem!
keatch

Działa to doskonale, ale zajęło mi kilka prób uświadomienia sobie, że get_page($id)kawałek jest ważny. Do czasu renderowania widoku qTranslate już zmodyfikował zawartość, $postaby zawierała tylko bieżący język, więc musisz załadować go ponownie, aby uzyskać opcje dla wszystkich języków.
Marcus Downing

@keatch, czy możesz mi pomóc z tą wtyczką, która zawsze wyświetla tekst w języku angielskim, mam poprawnie zainstalowany, czy muszę wprowadzić inne zmiany w kodzie? lub zadziała normalnie, nie robiąc nic
Jack

Jeśli nadal potrzebujesz pomocy, możesz skontaktować się ze mną osobiście lub zapytać tutaj. Z przyjemnością pomogę. @Jack
Lenin

1
@ShivanRaptor aby uzyskać aktualny identyfikator języka można wykorzystać na wiele sposobów, ale najbardziej zalecany jest: qtrans_getLanguage().
Lenin,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.