从WordPress插件中删除滤镜

时间:2019-12-02 作者:user3096584

我使用的插件名为rel=canonical,它可以使所有分布式帖子返回到源代码。我联系了开发人员,他们告诉我:

默认情况下,分布式帖子的规范URL将指向原始内容,这与SEO最佳实践相对应。这可以通过使用自定义代码扩展分发服务器并删除分发服务器的默认前端规范URL筛选(查找“get\\u canonical\\u URL”和“wpseo\\u canonical”)来覆盖。

以下是他们的代码:

public static function canonicalize_front_end() {
    add_filter( \'get_canonical_url\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'canonical_url\' ), 10, 2 );
    add_filter( \'wpseo_canonical\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'wpseo_canonical_url\' ) );
    add_filter( \'wpseo_opengraph_url\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'wpseo_og_url\' ) );
    add_filter( \'the_author\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'the_author_distributed\' ) );
    add_filter( \'author_link\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'author_posts_url_distributed\' ), 10, 3 );
}
我进入了我的孩子主题功能。php文件,并添加了以下内容:

  remove_filter( \'get_canonical_url\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'canonical_url\' ), 10, 2 );
  remove_filter( \'wpseo_canonical\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'wpseo_canonical_url\' ) );
这似乎对我不起作用。有什么想法吗?

1 个回复
SO网友:butlerblog

你不能只是添加remove_filter() 让它拆下过滤器。

remove_filter() 总是在添加要删除的回调后发生。你的remove_filter() 调用很可能在插件的add_filter().

你需要找到插件挂起的位置/时间canonicalize_front_end() 然后运行相应的删除操作(即在该时间或之后)。

例如,如果canonicalize_front_end() 是在init 操作,然后可以执行以下操作:

add_action( \'init\', \'my_remove_filter\' );
function my_remove_filter() {
    remove_filter( \'get_canonical_url\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'canonical_url\' ), 10, 2 );
    remove_filter( \'wpseo_canonical\', array( \'\\Distributor\\InternalConnections\\NetworkSiteConnection\', \'wpseo_canonical_url\' ) );
}

相关推荐

如何清理wp-content/plugins/wordpress-seo中不必要的文件?

我目前维护Wordpress网站7年。磁盘使用率最近已满,因此我需要定期检查自动备份并保存这些备份,然后将其从服务器中删除。当我检查时,插件文件夹中的wordpress seo文件夹(这是Yoast seo默认插件文件夹)占用了太多空间。据我所知,它充满了各种版本的插件文件。确切地说,它位于wordpress seo插件的js/dist文件夹中。它包含几种类型的小型javascript,每个名称的末尾都有某种序列或版本号,总容量约为250-300 MB。我可以清理这些文件吗?如果是,是否安全?如果我从以前