2014-09-28 73 views

回答

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

这是不够的,我...我跟踪的$文本,发现语言的语法被打破。 这不是

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

所以我直接在qtranslate_filter($ ..)添加了对更换。

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

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

+0

测试过的代码更新functions.php,但我的标题字段只是丢弃等保存页面后。然后它的只有三个标题没有它在@ Julian-Kimmig – user2986959 2014-10-31 10:27:32

+0

你是在编辑你的标题在每个语言的“真实”页面标题输入或在yoast元节标题输入?哪个WP和插件版本被使用?我使用WP 4.0,qTranslate Plus版本2.7.2,Yoast版本1.6.3。在Yoast选项>“标题和Metas”中,“强制重写标题”是“不”启用。 @ user2986959 – 2014-11-01 17:59:16

+0

@ user4066959我已经为qTranslate安装了Yoast SEO fix,它允许我在SEO标题字段中编写一些标题,但它在描述字段中不起作用。我的是MQTranslate版本2.7.1.1。不一样的插件?上面的脚本不适合我。仍然需要翻译meta desc。 – user2986959 2014-11-03 16:12:57