qTranslate получение контента по языку
Как получить контент по id и определенному языку?
Мне нужно отобразить контент на двух конкретных языках на странице, независимо от языка сессии. Пока что у меня есть следующий прогресс: это работает для получения контента по id на активном языке:
<?php $id=47; $post = get_page($id); $content = apply_filters('the_content', $post->post_content); echo $content; ?>
Как применить фильтр для конкретного языка?
Спасибо за помощь. Sziro

Вы должны использовать нативные функции 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
, оставив только текущий язык, поэтому вам нужно загрузить его снова, чтобы получить варианты для всех языков.

@keatch, не мог бы ты помочь мне с этим плагином? Он постоянно показывает текст на английском, хотя я установил его правильно. Нужно ли вносить какие-то изменения в код? Или он должен работать нормально без дополнительных действий?

Если вам все еще нужна помощь, вы можете связаться со мной лично или спросить здесь. Буду рад помочь. @Jack

@ShivanRaptor чтобы получить идентификатор текущего языка, вы можете использовать разные способы, но наиболее рекомендуемый: qtrans_getLanguage()
.

Фатальная ошибка: Вызов неопределенной функции qtrans_use() в файле index.php при использовании указанного кода
