我使用的是trego主题。作为主题选项,您可以设置和更改将出现在网站中的文本(例如,文本为"版权文本"和"徽标网址")。如何使用WPML实现这种多语言?我想通过wpml-config.xml文件制作它
functions.options.php中的代码示例
$of_options[] = array( "name" => "Header",
"type" => "heading"
);
$of_options[] = array( "name" => "Logo",
"desc" => "Upload logo here.",
"id" => "site_logo",
"std" => get_template_directory_uri().'/images/logo.png',
"type" => "media"
);
$of_options[] = array( "name" => "Logo (only Gallery Template)",
"desc" => "Upload logo here.",
"id" => "site_logo2",
"std" => get_template_directory_uri().'/images/logo.png',
"type" => "media"
);
这是我在wpml-config.xml中的尝试(但不能正常工作)
<wpml-config>
<admin-texts>
<key name="of_options">
<key name="site_logo" />
<key name="site_logo2" />
<key name="copyright">
</key>
</admin-texts>
</wpml-config>
任何帮助?
答案 0 :(得分:3)
来自WPML dev / comp团队的Konrad:)
首先,你需要准备好国际化的字符串。因此,请勿使用"Logo"
,而是使用__("Logo", "yourthemedomain");
然后......好吧,这取决于你如何保存你的选择。 $of_options
会直接转到update_option('of_options', $of_options);
吗?如果是的话,你已经准备好了。如果没有,重写它就是这样。
哦,我看到你的$of_options
实际上是三个数组。所以xml看起来像:
<wpml-config>
<admin-texts>
<key name="of_options">
<key name="1">
<key name="id" />
</key>
</key>
</admin-texts>
</wpml-config>
因此使用内部数组的索引(在这种情况下为name = 1)并且不使用值(logo_name)但是它们的索引(logo_name具有数组索引id
)
答案 1 :(得分:1)
thanx @kkarpieszuk 通过在我的sql中搜索有关site_logo的问题解决了这个问题,我在option_name的WP-options中找到了它,我发现了of_options存储数据的关键
和对了wpml-config.xml:
<wpml-config>
<admin-texts>
<key name="theme_mods_trego">
<key name="site_logo" />
<key name="site_logo2" />
</key>
</key>
</admin-texts>
</wpml-config>
它像魅力一样工作