我正在尝试通过我的子主题更改插件/ events-manager / templates / forms / event / bookings.php。当我直接在插件中对文件进行更改时,它运行良好,但我知道要走的路是在子主题级别进行更改,这就是我所做的:
我将已编辑的bookings.php添加到了twentytwelve-child / plugins / events-manager / templates / forms / event / bookings.php,但由于某些原因,未应用更改。
我还尝试将编辑过的bookings.php添加到twentytwelve-child / events-manager / templates / forms / event / bookings.php,但它也没有用。
如果有人能帮我解决这个问题,我将不胜感激(截图如下)。仅供参考 - 我不是开发人员,所以请尽量不要过于技术性。
非常感谢, 伊凡
答案 0 :(得分:0)
如果开发人员可以简单地在主题中覆盖插件中的特定文件,那将是很好的,但我非常确定WP不会以这种方式工作(至少不是为了覆盖插件。主题文件?是的。插件?不)。
如果插件开发人员很好,他们会给你一些覆盖功能,比如使用action hooks,filters,或者将他们的功能包含在类中的静态。
从the events-manager plugin file的外观可以看出有三个这样的动作挂钩:
do_action('em_events_admin_bookings_header', $EM_Event);
do_action('em_event_edit_ticket_td', $EM_Ticket);
do_action('em_events_admin_bookings_footer', $EM_Event);
您需要挂钩这些操作以进行调整(强烈推荐),或复制插件,重命名并手动编辑(这意味着每次升级时都需要复制这些编辑... YUCK!)
在进一步研究events-manager插件后编辑:
虽然WP不提供此模板覆盖功能,但它看起来像插件。但是在对文档进行一些挖掘之后,我注意到这个功能没有指定它支持子主题的天气。尝试将模板覆盖放在secondtwelve而不是twentytwelve-child中。如果这样可行,那么也许你可以将该文件夹移回二十二个孩子,并在二十分之一内创建一个symlink到二十分之一的孩子中的真实文件夹(有点欺骗插件)。这样做意味着你必须在每次更新Twetwelve时重新创建符号链接,但权衡的是你现在可以覆盖模板,如果你更新了20ttve(只是符号链接),它将不会丢失你的更改。
答案 1 :(得分:0)
问题是您的文件路径:
插件/事件的管理器/模板/形式/事件/ bookings.php
应该是
插件/事件的管理器/形式/事件/ bookings.php
如果您对EM有疑问,我们会在这里监控免费论坛(我巧妙地偶然发现了这一点) - https://wordpress.org/support/plugin/events-manager
也@StevenLeimberg,谢谢谢谢!我们支持子主题,这只是错误的目录结构。