使用标记非常简单。qTranslate中的所有数据存储在<!--:lang-->content<!--:-->
标签,其中lang
是语言的代码,如en
, ru
, de
, 等
编辑后的UI通过qTranslate的重JavaScript进行更改。JavaScript解析预设字段的内容并创建新控件。在保存相同的JavaScript之前,将合并UI字段并将其打包到上面的标记中。通过从自定义帖子类型代码中注入额外的JavaScript,将自定义字段拆分为所需的多种语言,然后使用qtrans_integrate_*, qtrans_save 以及其他现有的零碎东西,作为您自己代码的指南。
同样,这非常简单-在#portfolio_project_roles
, 为每种语言创建#portfolio_project_roles_{lang}
文本区域并用拆分内容填充,然后保存合并回一个#portfolio_project_roles
将每个内容语言负载包装到标记中。
保存后,数据库中的自定义帖子类型元数据如下所示,例如:"portfolio_roles" => "<!--:en-->Vladimir - Project Lead<!--:--><!--:ru-->Владимир - куратор проекта<!--:-->"
. 要根据语言显示这些数据块,必须使用qTranslate提供的几个过滤器,主要包括:qtrans_useCurrentLanguageIfNotFoundShowAvailable
诸如此类,甚至qtrans_use
直接地
<div id="content>
<?php echo qtrans_useCurrentLanguageIfNotFoundShowAvailable(
get_post_meta( get_the_ID(), \'portfolio_roles\', true ) ) );
?>
</div>
这将输出正确的语言分割负载(不要忘记使用
esc_html
).
更干净的方法是使用meta filter
把它挂在qtrans_use*
功能。我相信还有其他有趣的方法可以采用,但以上应该为您提供事情如何工作的基本轮廓。希望这有帮助。