使主题 wmpl 准备就绪 wpml-config
Posted
技术标签:
【中文标题】使主题 wmpl 准备就绪 wpml-config【英文标题】:make theme wmpl ready wpml-config 【发布时间】:2015-06-27 18:38:25 【问题描述】:我正在使用 trego 主题。作为主题选项,您可以设置和更改将出现在站点中的文本(例如“版权文本”和“徽标 url”的文本)。如何使用 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>
有什么帮助吗?
【问题讨论】:
【参考方案1】:这是来自 WPML 开发/计算团队的 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
)
【讨论】:
【参考方案2】:感谢@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>
它像魅力一样工作
【讨论】:
我看到您的 xml 中有语法错误。太多了</key>
。一个就够了:)以上是关于使主题 wmpl 准备就绪 wpml-config的主要内容,如果未能解决你的问题,请参考以下文章