【发布时间】:2014-10-26 21:57:04
【问题描述】:
我有一个动态的 wordpress 页面。 Yoast 的 WordPress SEO 将 opengraph 标签添加到所有页面,除了这一页之外,这不是问题。
有没有办法用更动态的内容覆盖元标记?
【问题讨论】:
标签: wordpress facebook-opengraph
我有一个动态的 wordpress 页面。 Yoast 的 WordPress SEO 将 opengraph 标签添加到所有页面,除了这一页之外,这不是问题。
有没有办法用更动态的内容覆盖元标记?
【问题讨论】:
标签: wordpress facebook-opengraph
Yoast 可提供各种过滤器。请参阅他们的WordPress SEO API Docs 文章以获取它们的列表。因此,例如,如果您想更改 ID 为 86 的博客文章的 opengraph 类型,您可以使用 wpseo_opengraph_type 过滤器:
function modify_opengraph_type_p86( $type ) {
if ( is_single( 86 ) )
$type = 'video';
return $type;
}
add_filter( 'wpseo_opengraph_type', 'modify_opengraph_type_p86' );
【讨论】:
og:description。此外,似乎没有办法控制twitter: 标签。有谁知道实现这一目标的方法吗?
查看 Yoast SEO 的代码,我发现了许多可以使用的“未记录”过滤器。这是从中提取的列表:
wpseo_opengraph_author_facebook- 允许开发者过滤 Yoast SEO 帖子作者 facebook 个人资料 URLwpseo_opengraph_admin- 允许开发人员过滤 fb:admins Yoast SEOwpseo_opengraph_title输出的字符串 - 允许更改 专门针对 OpenGraph 的标题wpseo_opengraph_url- 允许 更改 OpenGraph URLwpseo_opengraph_type- 允许更改 页面的 OpenGraph 类型wpseo_opengraph_desc- 允许更改 OpenGraph 描述wpseo_opengraph_site_name- 允许 更改 OpenGraph 站点名称wpseo_opengraph_show_publish_date- 允许显示其他帖子类型的发布日期wpseo_opengraph_image_size- 允许更改用于 OpenGraph 共享wpseo_opengraph_image- 允许更改 OpenGraph 图像。wpseo_twitter_card_type- 允许更改 Twitter 卡类型作为 Yoast SEO 的 Twitter 卡中的输出wpseo_twitter_metatag_key- 制作 Twitter 元标记键 可过滤wpseo_twitter_description- 允许更改 Yoast SEOwpseo_twitter_title在 Twitter 卡片中作为输出的 Twitter 描述 - 允许更改 Twitter 标题作为输出 Yoast SEOwpseo_twitter_site的 Twitter 卡片 - 允许更改 作为 Yoast 在 Twitter 卡中的输出的 Twitter 站点帐户 SEOwpseo_twitter_image- 允许更改 Twitter Card 图片wpseo_twitter_image_size- 允许更改 Twitter Card 图像大小wpseo_twitter_creator_account- 允许更改 Twitter 帐户作为 Yoast SEO 的 Twitter 卡中的输出
编辑:
有几点要记住:
Facebook 会删除 og:url 标签中的网址(即使它不是您提供的实际网址)。
如果你从 wp 过滤函数返回false,Yoast 不会显示那个标签,所以你可以这样使用它,然后在你需要的代码的其他地方手动添加标签...
例如,下面是一些禁用 og 和 twitter 的描述和图像标签的代码:
function yoast_og_tag ($tag) {
return false;
}
$yfilters = [ 'wpseo_opengraph_desc','wpseo_opengraph_image','wpseo_twitter_description','wpseo_twitter_image' ];
foreach ($yfilters as $k => $f) {
add_filter( $f, 'yoast_og_tag', 10, 1 );
}
【讨论】: