如何删除使用当前对象的WordPress操作 - $ this?

时间:2014-03-03 09:46:55

标签: php wordpress

在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' ) );

价:

http://codex.wordpress.org/Function_Reference/add_action

http://codex.wordpress.org/Function_Reference/remove_action

2 个答案:

答案 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' ) );

Reference

答案 1 :(得分:1)

根据接受的答案建议使用的类名在WordPress 4.5中对我不起作用。

您可以使用这些代码段移除操作(不要介意它被调用"过滤"在项目的页面上)通过传递方法名称或(更安全一点) )类名和方法名:https://github.com/herewithme/wp-filters-extras/