我正在尝试删除现有WooThemes Sensei Class中的动作
global $woothemes_sensei;
remove_action( 'sensei_single_course_modules_before', array( $woothemes_sensei->modules, 'course_modules_title' ),20 );
remove_action( 'sensei_single_course_modules_content', array( $woothemes_sensei->modules, 'course_module_content' ),30 );
我不确定我做错了什么?我想我用全局变量调用了正确的类。标签是否正确?我已尝试过各种优先事项。
谢谢!
答案 0 :(得分:1)
$this
此处没有上下文。它只有一个类中的上下文remove_action
必须与您要删除的add_action
具有完全相同的优先级course-modules.php
模板确切地说明了如何添加course_modules_title
操作/** * Hook runs inside single-course/course-modules.php * * It runs before the modules are shown. This hook fires on the single course page,but only if the course has modules. * * @since 1.8.0 * * @hooked Sensei()->modules->course_modules_title - 20 */ do_action('sensei_single_course_modules_before');
Sensei似乎没有使用全局,模块类是通过模板中暗示的Sensei()->modules
访问的。因此,以下内容应删除您的操作:
function so_31590319_remove_sensei_actions(){
remove_action('sensei_single_course_modules_before',array( Sensei()->modules,'course_modules_title' ), 20);
remove_action('sensei_single_course_modules_content', array( Sensei()->modules,'course_module_content' ), 20);
}
add_action( 'sensei_single_course_modules_before', 'so_31590319_remove_sensei_actions', 10 );