每种语言的单独后端“窗口小部件”页面

时间:2011-08-27 作者:Tom Siwik

我目前正在尝试使我的后端可以使用多种语言。我使用qTranslate作为我的翻译插件。

到目前为止,我已经完成了一个具有多语言支持的自定义选项页面。当您单击另一种语言时(在侧栏的qTranslate中)您将看到一个带有准备好的选项变量的新选项页面

show(option_textarea) -> \'english backend\' -> show(option_textarea_en)
(saving under the same variable possible)
因此,如果我使用模板中的一个选项,我只需使用当前的活动语言访问该选项

give(option_logo) -> \'german page viewing\' -> return option_logo_de
这也适用于小部件页面。除此之外,当我在后端切换当前语言时,每个小部件都会处于“未使用”状态,我必须手动再次放入小部件。它们对于当前活动语言不存在,也不是伪造的。所以一般来说,我一次只能为一种语言设置小部件。我设置的另一种语言的小部件将被删除。如何停用此行为?

我需要的是一个固定的小部件编辑系统,其工作方式与我的选项相同。也许有解决这个问题的方法?

提前谢谢。

2 个回复
最合适的回答,由SO网友:Wyck 整理而成

我不知道qTraslate是如何工作的,但您可以将过滤器传递给Widget Logic , 您基本上复制了每个小部件,每种语言对应一个小部件。我将此技术与WPML结合使用,以不同的语言显示小部件,有时可能会很困难(例如,当它们进行直接DB查询时)。

SO网友:brasofilo

正如威克指出的那样,这是最简单的方法。

我的functions.php 并使用它过滤一组重复的小部件,每种语言一个,例如:is_lingo(\'en\'), is_lingo(\'pt\'), 等

function is_lingo( $what ) 
{
    if ( !function_exists(\'qtrans_getLanguage\') )
        return false;

    $lingo = qtrans_getLanguage(); 

    if( $what == $lingo ) 
        return true;

    return false;
}

结束

相关推荐

我应该在主题中的哪里更新_Options?

我正在设计一个主题,其中主页(即。is_home()) 应该只显示最新的博客文章。我想做点什么$wp_query->update_option(\'posts_per_page\', 1) 每次我在主页上。所有其他显示帖子(如归档)的页面都应该遵循用户定义的选项。每次都这么做似乎有点不必要,因为选项应该只设置一次,对吗?是否可以在循环中忽略posts_per_page 和力have_posts() 只设一个职位?一般来说,这种“一次性设置”的东西应该去哪里?我真的不认为它应该是一个插件,因为它是特定