我正在尝试将LMS插件与会员插件集成。
我的目标是让所有访问者都能看到课程甚至课程页面,但共同赞助视频将仅限于成员(当然)。
我发现LMS插件函数负责显示视频HTML部分。
是否有一种方法可以编写另一个函数,以防止在用户不是成员时执行该函数(我已经准备好了该函数的if语句)。
当然,用CSS隐藏div视频元素并不是一个合理的解决方案。
我无法破解LMS插件代码,因为以后很难更新。我需要使用我自己的插件,或者在函数中插入代码来实现这一点。php文件。
因此,我的问题是:如何防止一个函数使用另一个函数执行?还是有其他方法可以做到这一点?
编辑:嗯,我刚找到一个add_action( \'lesson_video\', array( $this, \'lesson_video\' ), 10, 1 );
在类核心文件上。还有一个do_action( \'lesson_video\', $post->ID );
显示课程内容的php文件。所以,我想我也需要用if语句来钩住这个动作。会怎么样?
新编辑:嗯,函数在一个类中。就像是class LMS_Frontend {
public function __construct () {add_action( \'lesson_video\', array( $this, \'lesson_video\' ), 10, 1 );...}
如何删除此操作?
新编辑:嗯,我终于做到了。我试图删除的操作被添加到一个类中,这个类被另一个类实例化。
我做到了:
global $varUsedWhenMainClassWasInstantiated;
remove_action(\'lesson_video\', array($varUsedWhenMainClassWasInstantiated->classLessonVar, \'custom_lesson_video\'));
希望有人能从中受益。