我很好奇是否有支持的方法来提供<meta og:description="%VALUE%">
标记到我的页面以获取自定义模板。
到目前为止,我已将一个操作添加到wpseo_head
回显不利用开放图的元描述标记。但是,我看到前面提到的默认情况下是从the_content()
.
通常情况下,这很好,但对于将使用此模板的特定页面,数据将从外部GUI(此数据也存放在仓库中)提供,此模板将从该GUI进行查询,并将特定的数据/内容传递给适当的wpautop()
/do_shortcode()
/等函数,并最终渲染输出。因此,在此场景中根本不会使用“内容”字段。
其中一个具体的数据片段是我希望Yoast SEO用于构建meta og描述标签的数据。
总的来说,我知道我不需要Yoast SEO来完成我想要的东西。然而,由于这个插件已经严重依赖于遗留内容,我想尝试通过它代理尽可能多的此类元内容;如果可能的话。
我仍在遍历源代码。如果我在别人建议之前找到了解决方案,我会补充我的发现。
EDIT
我还发现
wpseo_opengraph
并尝试删除的筛选器
description
加上我自己的,但乍一看,它似乎更加深入人心。这样做并没有改变我试图手动设置的特定元标记。
最合适的回答,由SO网友:Erutan409 整理而成
想得太多了:
<?php
add_filter(\'wpseo_opengraph_desc\', function () use (&$data) {
$seo_intro = trim($data->seo_intro);
if ($seo_intro === \'\') {
$seo_intro = "{$data->name} - {$data->title}";
}
return esc_attr(wp_strip_all_tags(stripslashes(do_shortcode($seo_intro))));
}, PHP_INT_MAX);
?>
本质上,用一个过滤器劫持内容(因为Yoast是用这个过滤器来派生描述的),并确保它是最后一个运行以返回预定内容的过滤器。
EDIT
而不是在
the_content
, 使用Yoast的自定义筛选器
wpseo_opengraph_desc
.