我在一个网站上工作,页面标题是从外部数据源动态生成的。所以很明显,Yoast SEO/WordPress SEO在输出OpenGraph标签等时,根本不知道头部的正确标题、描述、图像等。
到目前为止,这应该没有问题,因为WordPress SEO支持过滤器连接到输出中。你可以在this list.
过滤器必须进入functions.php
, 我需要将生成的数据传递给它,然后挂钩将发挥其魔力。因为我不能在中使用变量add_filter()
我需要一些办法。
我已经在使用this technique described by toscho 将数据保存在静态变量中,以便我可以从整个WordPress访问它们。(除我的过滤器外,这一切都很好。)
所以我的页面模板正在调用
$saved = title_storage($event_title);
将动态生成的页面标题保存到静态变量中以供以后使用。
在我的functions.php
我得到以下信息:
function seo_change_title( $string )
{
$string = title_storage();
return $string;
}
add_filter( \'wpseo_title\', \'seo_change_title\', 10, 1 );
显然,这是行不通的。这个
title
从OpenGraph标签中删除,但这就是所有更改。虽然这可能意味着,我的变量是空的。
Trying to get my head around anonymous functions and searching WPSE for solutions, but I thought it could be this easy. Am I getting something wrong here?