覆盖yoast的og:元输出?

时间:2015-05-08 作者:user3657553

我正在写一个博客,里面有数百篇旧帖子,每天都有新帖子添加。我无法改变他们填写yoast meta标签的流程。他们希望og:title值是另一个值,一个来自同一篇文章的自定义post\\u元值。

在他们获取标题之前,我如何连接到yoast,并说“不要使用yoast标题,如果我们填写了自定义标题,请使用此标题。”

如果不可能,另一种选择是在yoast之前或之后只输出一个重复的og:title标记,以便忽略yoast标记。我会在删除yoast标签之前还是之后放置标签,这两个标签是否会产生负面影响?

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

使用wpseo_opengraph_title 过滤器:

function wpse_187763_wpseo_opengraph_title( $title ) {
    if ( is_singular() && $post = get_queried_object() ) {
        if ( $_title = get_post_meta( $post->ID, \'custom_field_key\', true ) )
            $title = $_title; // Override title with custom meta title
    }

    return $title;
}

add_filter( \'wpseo_opengraph_title\', \'wpse_187763_wpseo_opengraph_title\' );
Update: 单曲= 是有意的,因为我们正在分配值&;同时测试表达式。换句话说,这与:

$_title = get_post_meta( $post->ID, \'custom_field_key\', true );
if ( $_title )
    $title = $_title;

结束

相关推荐