0

qTranslate 为 JigoShop 中的产品页面创建额外的语言字段,但不像帖子那样为类别|标签产品创建额外的语言字段。

如果我输入菜单项的标题 <!--:en-->title<!--:--><!--:fr-->title<!--:--> 我会得到我想要的翻译。但是当创建一个新的 category|tag 标题时,<!--:--> 会被删除。如何为 cat|tag 标题启用评论标签?

另一种选择是在创建新的类别|标签产品时在同一标题字段中使用 [:en]Title[:fr]Titre。在管理面板上,我看到所选语言的正确文本,但对于最终用户,我看到 [:en]Title[: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 中看不到 category|tags 的额外翻译字段。

基本问题是:

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

4

2 回答 2

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 );

希望有帮助!

于 2013-10-08T03:20:12.097 回答
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 的其他地方做同样的事情。我在这里发帖作为一个起点。

于 2013-01-29T23:54:07.200 回答