【问题标题】:WordPress Yoast SEO Plugin and opengraph tagsWordPress Yoast SEO 插件和 opengraph 标签
【发布时间】:2014-10-26 21:57:04
【问题描述】:

我有一个动态的 wordpress 页面。 Yoast 的 WordPress SEO 将 opengraph 标签添加到所有页面,除了这一页之外,这不是问题。

有没有办法用更动态的内容覆盖元标记?

【问题讨论】:

    标签: wordpress facebook-opengraph


    【解决方案1】:

    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类型和OG图像,但不能为og:description。此外,似乎没有办法控制twitter: 标签。有谁知道实现这一目标的方法吗?
    • 我发布了回答我的评论问题的解决方案
    【解决方案2】:

    查看 Yoast SEO 的代码,我发现了许多可以使用的“未记录”过滤器。这是从中提取的列表:

    wpseo_opengraph_author_facebook - 允许开发者过滤 Yoast SEO 帖子作者 facebook 个人资料 URL
    wpseo_opengraph_admin - 允许开发人员过滤 fb:admins Yoast SEO wpseo_opengraph_title 输出的字符串 - 允许更改 专门针对 OpenGraph 的标题
    wpseo_opengraph_url - 允许 更改 OpenGraph URL wpseo_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 SEO
    wpseo_twitter_title 在 Twitter 卡片中作为输出的 Twitter 描述 - 允许更改 Twitter 标题作为输出 Yoast SEO wpseo_twitter_site 的 Twitter 卡片 - 允许更改 作为 Yoast 在 Twitter 卡中的输出的 Twitter 站点帐户 SEO
    wpseo_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 );
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多