我正在尝试更改特定帖子的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;
}
答案 0 :(得分:0)
直接修改插件文件并不好,因为当您更新插件时,您将丢失对这些文件的所有更改。
我发现有两种方法可以解决这个问题。
WPSEO_Frontend
的实例,然后更新了og:url
的选项。e.g。
$object = WPSEO_Frontend::get_instance();
$object->options['og_url'] = esc_url( $url );
这可以在wp_head()
add_filter
将函数挂钩到过滤器操作。我们使用下面的过滤器操作。过滤:' 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);