首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >+ Yoast对Wordpress SEO的支持

+ Yoast对Wordpress SEO的支持
EN

Stack Overflow用户
提问于 2014-09-28 20:16:59
回答 2查看 2.7K关注 0票数 3

我使用Qtranlate (https://wordpress.org/plugins/qtranslate-xp/),我也使用Yoast的Wordpress seo,但是元标题和描述字段不能被翻译。有人会修复这个问题,或者知道一个插件可以解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2014-10-31 01:08:29

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

代码语言:javascript
复制
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,发现语言语法被破坏了。不是这样的

代码语言:javascript
复制
<!--:de-->, it was <!-:de->.

因此,我在qtranslate_filter($.)中直接添加了一个替换项。

代码语言:javascript
复制
function qtranslate_filter( $text ) {
    $fixedOpenTag = str_replace("<!-:", "<!--:", $text);
    $fixedCloseTag = str_replace("->", "-->", $fixedOpenTag);
    return __($fixedCloseTag);
}

这适用于前端输出。我查了一下约斯特的源代码,但现在还没修好.

票数 3
EN

Stack Overflow用户

发布于 2022-03-17 14:36:56

我修改过滤器并直接使用数据库中的字符串。

代码语言:javascript
复制
function qtranslate_filter_yoast_title($text)
{
    $post_id = get_the_ID();
    $text = get_metadata('post', $post_id, "_yoast_wpseo_title", true);
    return __($text);
}
function qtranslate_filter_yoast_desc($text)
{

    $post_id = get_the_ID();
    $text = get_metadata('post', $post_id, "_yoast_wpseo_metadesc", true);
    return __($text);
}

add_filter('wpseo_title', 'qtranslate_filter_yoast_title', 10, 1);
add_filter('wpseo_metadesc', 'qtranslate_filter_yoast_desc', 10, 1);
add_filter('wpseo_opengraph_desc', 'qtranslate_yoast_filter_desc', 10, 1);
add_filter('wpseo_opengraph_title', 'qtranslate_filter_yoast_title', 10, 1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26089212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档