qTranslate通过语言获取内容[关闭]


9

您如何通过ID和特定语言获得内容?

无论会话的语言如何,我都需要在页面中显示两种特定的语言内容。到目前为止,这是我的进步:对于按活动语言的ID获取内容,效果很好:

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

如何将特定语言应用于过滤器?

谢谢您的帮助。西罗

Answers:


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 2012年

这很完美,但是我花了一些努力才意识到这get_page($id)一点很重要。在渲染视图时,qTranslate已经将的内容修改$post为仅包含当前语言,因此您需要再次加载它以获取所有语言的选项。
Marcus Downing

@keatch您可以使用此插件为我提供帮助吗,它始终显示英文文本,我已经正确安装了它,我是否需要对代码进行任何其他更改?否则它会正常工作而无需执行任何操作
Jack

如果您仍然需要帮助,可以亲自与我联系或在此处询问。我很乐意提供帮助。@杰克
列宁

1
@ShivanRaptor可以使用多种方法来获取当前的语言标识符,但最推荐的方法是:qtrans_getLanguage()
列宁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.