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.