打开图元标记覆盖Yoast,WordPress

时间:2015-08-03 19:57:23

标签: php wordpress function wordpress-plugin

我正在尝试更改特定帖子的og:url内容,但我不确定如何从functions.php文件中实现我的更改。

我尝试使用我在互联网上找到的内容,但相信它已经更新了。

我已更新了wordress-seo插件文件夹中的class-opengraph.php文件,该文件有效,请在下面找到我的修改:

public function url() {
  $url = apply_filters('wpseo_opengraph_url',
                        WPSEO_Frontend::get_instance()->canonical(false));

  if (is_string($url) && $url !== '' ) {
    if (is_page(32721)) {
      $this->og_tag('og:url', esc_url('testing'));
    } else {
      $this->og_tag( 'og:url', esc_url( $url ) );
    }
    return true;
  }
  return false;
}

1 个答案:

答案 0 :(得分:0)

直接修改插件文件并不好,因为当您更新插件时,您将丢失对这些文件的所有更改。

我发现有两种方法可以解决这个问题。

  1. 您获得了课程WPSEO_Frontend的实例,然后更新了og:url的选项。
  2. e.g。

    $object = WPSEO_Frontend::get_instance();
    $object->options['og_url'] = esc_url( $url );
    

    这可以在wp_head()

    之前添加
    1. 您可以使用add_filter将函数挂钩到过滤器操作。我们使用下面的过滤器操作。
    2.   

      过滤:' wpseo_opengraph_url' - 允许更改OpenGraph URL

      e.g。

      function update_og_url($url) {
        return "http://www.yoursampleurl.com";
      }
      add_filter('wpseo_opengraph_url', 'update_og_url', 10, 1);
      

      来源:Wordpress SEO API