qTranslate получить контент по языку [закрыт]

9

Как вы получаете контент по идентификатору и конкретному языку?

Мне нужно отобразить два конкретных языковых содержания на странице, независимо от языка сеанса. Пока что это мой прогресс: он отлично работает для получения контента по идентификатору активного языка:

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

Как применить определенный язык к фильтру?

Спасибо за помощь. Sziro

user1348490
источник

Ответы:

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;  
?>

В этом примере он вернет английскую версию вашего текста! Замените его нужным языковым идентификатором для перевода на другой язык!

keatch
источник
Да, рад, что помог вам!
keatch
Это прекрасно работает, но мне потребовалось несколько попыток понять, что get_page($id)бит важен. Ко времени рендеринга представления qTranslate уже изменил содержимое, $postчтобы оно содержало только текущий язык, поэтому вам нужно загрузить его снова, чтобы получить опции для всех языков.
Маркус Даунинг
@keatch, можете ли вы помочь мне с этим плагином, он постоянно показывает текст на английском, я правильно его установил, нужно ли мне вносить какие-либо другие изменения в код? или он будет работать нормально, ничего не делая
Джек
Если вам все еще нужна помощь, вы можете связаться со мной лично или спросить здесь. Я был бы рад помочь. @ Джек
Ленин
1
@ShivanRaptor , чтобы получить текущий идентификатор языка можно использовать много способов , но наиболее рекомендуемый: qtrans_getLanguage().
Ленин