• 断然的 格子花纹的

    (@plaidpowered)


    你好,
    我们的WordPress安装使用EDD发送带有自定义模板的电子邮件,我们最近刚刚安装了Lifter。
    我们在Lifter中加载模板函数的方式上遇到了一个错误,导致我们的电子邮件模板抛出一个致命错误–以下是相关的错误堆栈:

    PHP消息:PHP致命错误:未捕获错误:调用/www/[…]/wp-content/plugins/liftlms/includes/class.llms.nav.menus.PHP:223中未定义的函数is_lifterlms()堆栈跟踪:#0/www/[…]/wp-includes/class-wp-hook.php(289):LLMS_Nav_Menus->menu_item_classes(数组)#1/www/[…]/wp-includes/plugin.php(212):wp_Hook->apply_filters(数组,数组)#2/www/[…]/wp-includes/nav-menu-template.php(226):应用过滤器('wp_nav_menu_obj…',数组,对象(stdClass))#3/www/[…]/wp-content/themes/[…]/edd_templates/emails/footer.php(76):wp_nav_menu(对象(stdClass))

    在主题/edd_templates/emails/footer.php的第76行,我们将wp_nav_菜单功能。

    我仔细研究了Lifter的源代码,我认为问题是由于LifterLMS模板函数造成的(lifter lms/includes/llms.template.function.php)直到初始化WordPress操作。我还没有确认这一点,但EDD电子邮件似乎是在初始化钩子,所以在那一点上is_lifterlms()尽管Lifter已经连接到wp_nav_菜单对象过滤器。

    我可以理解这个问题的解决方案可能很复杂。为了快速解决问题,我在电子邮件模板中定义了is_lifterlms(),并让它返回false,这样就不会发生致命错误。我认为一个更持久的解决方案是更改llms.template.functions.php文件加载时的优先级(可能只移动is_lifterlms()函数定义到加载的插件挂钩),或确保LLMS_Nav_Menus->菜单项类函数未添加到wp_nav_菜单对象过滤到之后初始化已调用,模板函数可用。

    请让我知道我是否能对调试这个问题提供更多帮助。

查看2个回复-1至2(共2个)
查看2个回复-1至2(共2个)
  • “Bug报告:与EDD电子邮件模板和LifterLMS模板功能冲突”这一主题不适用于新回复。