make theme wmpl ready wpml-config

时间:2015-04-20 20:43:40

标签: php xml wordpress multilingual

我使用的是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>

任何帮助?

2 个答案:

答案 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存储数据的关键

enter image description here 和对了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>

它像魅力一样工作