qTranslate отримати вміст за мовою [закрито]


9

Як ви отримуєте вміст за id та за певною мовою?

Мені потрібно відображати два певні мовні вмісти на сторінці, незалежно від мови сеансу. Поки що це мій прогрес: це чудово працює для отримання вмісту за ідентифікацією активної мови:

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

Як застосувати конкретну мову до фільтра?

Дякую за допомогу. Сіро

Відповіді:


15

Для виконання своєї роботи ви повинні використовувати нативні функції qTranslate. Використовуйте qtrans_use, це функція, яка виконує всю роботу в qTranslate. Це визначено в qtranslate_core.php, рядок 747

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

Використовуйте його на сирому вмісті публікації!

Спробуйте цей код:

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

У цьому прикладі він поверне англійську версію вашого тексту! Замініть його потрібним ідентифікатором мови для перекладу на іншу мову!


Так, рада, що допомогла вам!
кеч

Це прекрасно працює, але мені знадобилося кілька спроб зрозуміти, що get_page($id)біт важливий. На той час, коли ви надаєте подання, qTranslate вже змінив вміст, $postщоб він містив лише поточну мову, тому вам потрібно завантажити його знову, щоб отримати параметри для всіх мов.
Marcus Downing

@keatch чи можете ви допомогти мені з цим плагіном, щоб він постійно показував англійський текст, я правильно його встановив, чи потрібно вносити будь-які інші зміни в код? або це буде працювати нормально, нічого не роблячи
Джек

Якщо вам все-таки потрібна допомога, зв’яжіться зі мною особисто або попросіть тут. Я б радий допомогти. @Jack
Ленін

1
@ShivanRaptor , щоб отримати поточний ідентифікатор мови можна використовувати багато способів , але найбільш рекомендований: qtrans_getLanguage().
Ленін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.