Setting Page Title Yoast

时间:2016-10-05 作者:mastershiz

所以我在页面标题上有点麻烦。我创建了一个插件,可以从API获取产品数据。这在内容中发生。

然而,汽车的标题(我正在取车)必须是页面标题。

目前,我正在这样做:

public function setTitle($title) {
    // Get meta data
    $meta = $this->meta();

    return $meta->title;
}
然后我在注册add_filter( \'the_title\' )add_filter( \'wpseo_thetitle\' ).

这是为the_title() 输出,但不用于页面标题。我的猜测是因为我的插件稍后会获取内容,现在还没有标题,所以他会回到原来的页面标题。

是否有可能稍后再这样做,以便在加载内容后设置页面标题?

当做

1 个回复
SO网友:Dave Romsey

听起来您好像在试图修改文档的<title> 标签,而不是通常包装在<h1>/<h2> 标签,您已经完成了。

如果您使用的主题在WordPress 4.4+ manner, 您可以使用document_title_parts 过滤器:

/**
 * document_title_parts
 *
 * Filters the parts of the document title.
 *
 * @since 4.4.0
 *
 * @param array $title {
 *     The document title parts.
 *
 *     @type string $title   Title of the viewed page.
 *     @type string $page    Optional. Page number if paginated.
 *     @type string $tagline Optional. Site description when on home page.
 *     @type string $site    Optional. Site title when not on home page.
 * }
 */
add_filter( \'document_title_parts\', \'wpse241607_document_title_parts\', 10, 1 );

function wpse241607_document_title_parts( $title ) {

    $title[\'title\'] = \'##### \' . $title[\'title\'] . \' #####\';

    return $title;
}
对于Yoast SEO,您可以查看wpseo_title 过滤器,用于过滤标题文本。