覆盖插件文件?

Ren*_*unt -1 wordpress

我想覆盖plugins/the-events-calendar/tickets/meta-box.php插件The Events Calendar的文件。

我按照教程覆盖插件文件,但这对我不起作用。

我怎样才能覆盖这个文件?

我想在 evetns Ticket 部分添加新的 metabox,我该怎么做而不编辑插件文件,否则会覆盖该插件文件。

bir*_*ire 5

我没有你提到的付费票证插件,但我花了一些时间浏览可用的 GitHub 代码:

https://github.com/moderntribe/the-events-calendar/

看起来覆盖选项(即将文件从插件文件夹移动到tribe-events/当前主题目录中的文件夹)仅适用于视图模板:

https://github.com/moderntribe/the-events-calendar/tree/master/views

例如,您可以在此处查看getTemplateHierarchy()函数的定义。

但是这个覆盖选项不适用于该/admin-views/tickets/meta-box.php文件,因为它包含默认的 PHP 中include()

 include $this->path . 'admin-views/tickets/meta-box.php';
Run Code Online (Sandbox Code Playgroud)

通过此方法调用此处

TribeEventsTicketsPro::instance()->do_meta_box( $post_id );
Run Code Online (Sandbox Code Playgroud)

metabox 的来源:

add_action( 'add_meta_boxes', 
            array( 'TribeEventsTicketsMetabox', 'maybe_add_meta_box' ) );
Run Code Online (Sandbox Code Playgroud)

查看这个文件的来源,我发现了这一部分:

<?php do_action( 'tribe_events_tickets_metabox_advanced', 
                 get_the_ID(), NULL ); ?>
Run Code Online (Sandbox Code Playgroud)

如果您想向事件编辑器添加一些额外的票证 UI,这可能就是您正在寻找的。尝试挂钩到这个tribe_events_tickets_metabox_advanced操作以添加额外的 UI。

希望这有帮助。