[英]Override function in custom plugin
我正在通過此操作使用插件:
add_filter( 'pre_comment_approved', array( $this, 'pre_save_review' ), 10, 2 );
我已經編寫了一個插件來對我的網站進行一些調整。 主要是REST API定制。
我想覆蓋,顛覆,忽略,刪除該過濾器。 現在,只需在pre_save_review
函數的第一行上return
就可以使它“工作”。
我試過了:
remove_action( 'pre_comment_approved', 'pre_save_review');
...但是我想知道是否存在一些命名空間問題。 我對PHP不太了解,所以我不知道如何引用其他文件/插件中的類,我想這就是問題所在。
謝謝!
您可以使用wordpress函數“ remove_all_filters”刪除所有過濾器
remove_all_filters('pre_comment_approved');
它還具有第二個參數來傳遞優先級號,因為該優先級號被添加為10,因此它是:
remove_all_filters('pre_comment_approved', 10);
您將為此使用remove_filter
函數。
請參閱此處的文檔中的示例: https : //codex.wordpress.org/Function_Reference/remove_filter
如果從類內部(例如通過插件)添加了過濾器,則刪除過濾器將需要訪問類變量。
global $my_class;
remove_filter( 'the_content', array($my_class, 'class_filter_function') );
因此,請嘗試以下方法;
global $this;
remove_filter( 'pre_comment_approved', array( $this, 'pre_save_review' ) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.