使用qTranslate翻译JigoShop的产品类别|标签标题

时间:2013-01-29 13:21:44

标签: wordpress wordpress-plugin translation jigoshop

qTranslate为JigoShop中的产品页面创建了其他语言字段,但也没有为类别|标签产品创建其他语言字段。

如果我输入菜单项的标题<! - :en - > title<! - : - ><! - :fr - > title<! - : - >我会得到我想要的翻译。但是当创建新的类别标签时,<! - : - >条纹了。如何为cat | tag title启用注释标记?

另一种选择是在创建新的类别标签产品时在同一标题字段中使用[:en] Title [:fr] Titre。在管理面板上,我看到所选语言的正确文本,但对于最终用户,我看到[:en]标题[:fr] Titre。

我发现此链接https://wordpress.stackexchange.com/questions/28165/translating-a-custom-taxonomy并根据此回答http://www.qianqin.de/qtranslate/forum/viewtopic.php? f = 4& t = 2045& start = 0#p7380我在functions.php中添加

add_action('jigoshop_add_form', 'qtrans_modifyTermFormFor');
add_action('jigoshop_edit_form', 'qtrans_modifyTermFormFor');

没用。我没有在JigoShop中看到类别|标签的附加翻译字段。

基本问题是:

如何使用qTranslate在JigoShop中翻译产品类别|标签?

2 个答案:

答案 0 :(得分:1)

我遇到了非常类似的问题。我在这里找到了一个解决方案:http://www.qianqin.de/qtranslate/forum/viewtopic.php?f=3&t=4064&start=10#p12940

基本上,您所要做的就是按照上面的答案中的建议重命名所有类别,然后添加到主题的functions.php文件中:

function p_filter_categories( $categories ) {
  if ( is_array( $categories ) ) {
    foreach ( $categories as $i => $cat ) {
       $categories[ $i ]->name = __( $cat->name );
    }
  } else {
    $categories->name = __( $categories->name );
  }
  return $categories;
}
add_filter( 'get_the_categories', 'p_filter_categories', 10 );
add_filter( 'get_the_terms', 'p_filter_categories', 10 );
add_filter( 'get_term', 'p_filter_categories', 10 );

希望有所帮助!

答案 1 :(得分:0)

不是理想的解决方案,但有效。

在JigoShop /编辑产品类别/名称:

[:en] Big [:fr] Grand

在functions.php中

function translate_q ($echo) {
    if (function_exists('qtrans_split')) {
        $selectLanguage = qtrans_split($echo);
        return $selectLanguage[qtrans_getLanguage()];
    } else {
        return $echo;
    }
}

qtrans_split和qtrans_getLanguage是由qTranslate创建的函数。

从JigoShop插件目录中我打开了jigoshop_template_functions.php,我从jigoshop_breadcrumb()函数中抓取了$ echo变量中的所有回声,最后我有:

echo function_exists('translate_q') ? translate_q($echo) : $echo;

你必须在JigoShop的其他地方做同样的事情。我在这里发布了一个起点。