【问题标题】:Uncaught Error: Call to a member function is_registration_enabled() on WooCommerce form-checkout.php未捕获的错误:调用 WooCommerce form-checkout.php 上的成员函数 is_registration_enabled()
【发布时间】:2019-03-18 21:19:09
【问题描述】:

我正在制作一个需要结帐表格的插件。当我包含 form-checkout.php 时,我遇到了错误

致命错误:未捕获的错误:在 C:\xampp7\htdocs\woo\wp-content\plugins\wooinstant\inc\templates\checkout\form-checkout.php:28 中调用成员函数 is_registration_enabled() on null堆栈跟踪:#0 C:\xampp7\htdocs\woo\wp-content\plugins\wooinstant\inc\wooinstant-layout.php(19): include() #1 C:\xampp7\htdocs\woo\wp-includes \class-wp-hook.php(286): wooinstant_layout('') #2 C:\xampp7\htdocs\woo\wp-includes\class-wp-hook.php(310): WP_Hook->apply_filters(NULL,数组)#3 C:\xampp7\htdocs\woo\wp-includes\plugin.php(453): WP_Hook->do_action(Array) #4 C:\xampp7\htdocs\woo\wp-includes\general-template。 php(2630): do_action('wp_footer') #5 C:\xampp7\htdocs\woo\wp-content\themes\twentyseventeen\footer.php(44): wp_footer() #6 C:\xampp7\htdocs\woo \wp-includes\template.php(688): require_once('C:\xampp7\htdoc...') #7 C:\xampp7\htdocs\woo\wp-includes\template.php(647): load_template( 'C:\xampp7\htdoc...', true) #8 C:\xampp7\htdocs\woo\wp-includes\general-template.php(76): locate_template(Array, true) #9 C:\xampp7\htdocs\woo\wp-con 在 C:\xampp7\htdocs\woo\wp-content\plugins\wooinstant\inc\templates\checkout\form-checkout.php 在第 28 行

我想包含这样的结帐表单文件

include plugin_dir_path( __FILE__ ) . '/templates/checkout/form-checkout.php';

我不想在那里使用[woocommerce_checkout]。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    我使用$checkout = WC()->checkout();解决了这个问题

    【讨论】:

      【解决方案2】:

      更新 WooCommerce 插件将在未来删除您的代码。取而代之的是,您可以尝试 wc_get_template_part 函数来包含结帐

      【讨论】:

      • 我复制了文件并粘贴到我的插件模板文件夹中。它没有与 woocommerce 插件模板直接链接。
      • 即使您可以在插件中使用相同的代码来保护来自 WooCommerce 的任何过时模板消息
      猜你喜欢
      • 2021-11-28
      • 2021-06-09
      • 2021-12-14
      • 2021-05-07
      • 2022-12-21
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多