如何在Oxygen Builder中通过自定义插件覆盖MemberPress模板文件
MemberPress 自定义模板路径解决方案
MemberPress 内置mepr_template_paths过滤器,支持自主调整模板加载的查找路径,完全可以通过自定义功能插件实现模板覆盖,无需依赖WordPress主题/子主题,完美适配Oxygen Builder禁用默认主题的场景。
实现步骤
- 第一步:在你的自定义功能插件根目录下,新建名为
memberpress-templates的文件夹,用来存放需要覆盖的MemberPress模板文件 - 第二步:在自定义功能插件的主PHP文件中添加以下过滤代码:
add_filter('mepr_template_paths', 'custom_mepr_template_path'); function custom_mepr_template_path($paths) { // 拼接自定义插件中模板文件夹的绝对路径 $custom_path = plugin_dir_path(__FILE__) . 'memberpress-templates/'; // 将自定义路径插入到路径数组最前面,优先级最高 array_unshift($paths, $custom_path); return $paths; }
- 第三步:将需要覆盖的MemberPress模板按照原插件的目录结构,放到上述
memberpress-templates文件夹中即可。比如要覆盖官方模板里的membership/account.php,对应存放路径就是自定义插件目录/memberpress-templates/membership/account.php
注意事项
- 仅需复制你需要修改的模板文件到自定义路径即可,未覆盖的模板会自动加载MemberPress官方自带的版本,无需全量复制
- 模板文件名、子目录结构必须和官方模板完全一致,否则会无法触发覆盖
- 模板修改前建议做好备份,避免语法错误导致站点异常
内容的提问来源于stack exchange,提问作者Taimur Aziz
相关产品推荐
相关产品推荐

