我想覆盖plugins/the-events-calendar/tickets/meta-box.php插件The Events Calendar的文件。
我按照教程覆盖插件文件,但这对我不起作用。
我怎样才能覆盖这个文件?
我想在 evetns Ticket 部分添加新的 metabox,我该怎么做而不编辑插件文件,否则会覆盖该插件文件。
我没有你提到的付费票证插件,但我花了一些时间浏览可用的 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。
希望这有帮助。
| 归档时间: |
|
| 查看次数: |
5557 次 |
| 最近记录: |