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中翻译产品类别|标签?
答案 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的其他地方做同样的事情。我在这里发布了一个起点。