要覆盖插件中使用的操作,请使用可以包装remove_action
代码输入template_redirect
确保您的操作稍后执行。
例如
add_action(\'template_redirect\', function() {
// Remove the title.
remove_action(\'sensei_course_content_inside_before\', array( \'Sensei_Templates\', \'the_title\' ) ,5, 1 );
// Add it again
add_action(\'sensei_course_content_inside_before\', array( \'Sensei_Templates\', \'the_title\' ) ,15, 1 );
}, 11 );
如果它不起作用,您可以尝试增加优先级形式
11
更伟大的东西。
请注意,如果您的PHP版本不支持匿名函数,则需要将wrap函数更改为命名函数。
UPDATE
为什么?
template_redirect
?
因为很难知道(IMO)插件执行的操作顺序,所以我们可以在所有操作都被添加/删除之后,尝试稍后跟踪所有操作的顺序。template_redirect
是可以帮助使用重新排序操作的“稍后”操作之一,因为此操作挂钩在WordPress确定加载哪个模板页面之前执行。
UPDATE 2
您可以尝试此代码
course_image
:
add_action(\'template_redirect\', function() {
// Remove the image.
remove_action(\'sensei_course_content_inside_before\', array( Sensei()->course, \'course_image\' ), 10, 1);
// Add it again
add_action(\'sensei_course_content_inside_before\', array( Sensei()->course, \'course_image\' ), 1, 1 );
}, 11 );