在WordPress中删除操作时,我对remove_action
很熟悉。
要创建操作:
add_action( 'action_hook', 'function_name', 10, 3 );
要删除操作:
remove_action( 'action_hook', 'function_name', 10, 3 );
但是如何删除使用当前对象的动作?例如$this
add_action( 'some_action_hook', array( $this, 'some_function' ) );
价:
答案 0 :(得分:5)
内部课程
add_action( 'some_action_hook', array( $this, 'some_function' ) );
课外,
使用全球可变:
global $my_class;
remove_action( 'some_action_hook', array( $my_class, 'some_function' ) );
使用班级名称:
remove_action( 'some_action_hook', array( 'MyClass', 'some_function' ) );
答案 1 :(得分:1)
根据接受的答案建议使用的类名在WordPress 4.5中对我不起作用。
您可以使用这些代码段移除操作(不要介意它被调用"过滤"在项目的页面上)通过传递方法名称或(更安全一点) )类名和方法名:https://github.com/herewithme/wp-filters-extras/