我可以更改由Yoast生成的描述元标记的内容吗?

时间:2018-08-02 作者:theJuls

本质上,我有一个Yoast插件来处理我的SEO相关的事情。最主要的问题是描述元标记。

该网站是双语的,我想描述元标签也被翻译。Yoast目前不提供该选项,除非我得到另一个我不想进入的插件。

目前,我被告知可以通过functions.php 使用add_action. 不幸的是,这不起作用,因为它只添加了另一个描述元标记。

当前我的代码如下所示:

function insert_meta_tag_in_head () {
    echo \'<meta name="description" content="My New content" />\';
}

add_action(\'wp_head\', \'insert_meta_tag_in_head\', 1); 
所以基本上这只是给了我第二个描述元标记。我在其他线程中也看到,如果要替换标记,应该使用do_action 作用我称之为:

do_action(\'wp_head\', \'insert_meta_tag_in_head\'); 
然而,这没有任何作用。我做错了什么?如何更改通过Yoast提供给我的描述标签的内容?

1 个回复
最合适的回答,由SO网友:David Sword 整理而成

看看WordPress SEO API Docs 您似乎可以修改meta description标记,如下所示:

add_filter(\'wpseo_metadesc\', function($description){
    if ($wtv_language == \'wtv\') {
        $description = "my other language meta description here";
    }
    return $description;
});
请注意$wtv_language == \'wtv\' 将需要替换为用于检测语言的任何函数/变量,以及"my other language... 将需要替换为动态翻译值,以便每个页面都能获得正确的翻译描述,无论您打算如何做。

结束

相关推荐

有没有一种直接的方法可以通过Yoast SEO以编程的方式提供元描述标记,而不依赖于管理面板?

我很好奇是否有支持的方法来提供<meta og:description=\"%VALUE%\"> 标记到我的页面以获取自定义模板。到目前为止,我已将一个操作添加到wpseo_head 回显不利用开放图的元描述标记。但是,我看到前面提到的默认情况下是从the_content().通常情况下,这很好,但对于将使用此模板的特定页面,数据将从外部GUI(此数据也存放在仓库中)提供,此模板将从该GUI进行查询,并将特定的数据/内容传递给适当的wpautop()/do_shortcode()/等函数,并最