3

我使用 Qtranlate plus ( https://wordpress.org/plugins/qtranslate-xp/ ),我也使用 Yoast 的 Wordpress seo,但元标题和描述字段无法翻译。任何人都对此有修复或知道修复该问题的插件?

4

1 回答 1

3

这个问题存在,因为 qTranslate 不是加号。有一个修复,来自 Yoast: http ://kb.yoast.com/article/52-wordpress-seo-qtranslate


function qtranslate_filter( $text ) {
  return __( $text );
}

add_filter( 'wpseo_title', 'qtranslate_filter', 10, 1 );
add_filter( 'wpseo_metadesc', 'qtranslate_filter', 10, 1 );
add_filter( 'wpseo_metakey', 'qtranslate_filter', 10, 1 );
add_filter( 'wpseo_opengraph_title', 'qtranslate_filter', 10, 1 );

这对我来说还不够……我跟踪了 $text 并看到语言语法被破坏了。不是

<!--:de-->, it was <!-:de->.

所以我直接在 qtranslate_filter($..) 中添加了一个替换。

function qtranslate_filter( $text ) {
    $fixedOpenTag = str_replace("<!-:", "<!--:", $text);
    $fixedCloseTag = str_replace("->", "-->", $fixedOpenTag);
    return __($fixedCloseTag);
}

这适用于前端输出。我查看了 yoast 的源代码,但现在还没有修复它......

于 2014-10-31T01:08:29.163 回答