du4373
2018-12-10 13:18
浏览 62
已采纳

不能将WooCommerce-CustomerClass包含到其他PHP文件中

I am using WooCommerce 3.5.2 on Wordpress 4.9.8. At the moment I am trying to build a custom template for "WooCommerce PDF Invoices & Packing Slips" and want to show a text-field only if the customer is not located in the homebase of the woocommerce-shop. I found a function called "is_customer_outside_base()" in "woocommerce/includes/class-wc-customer.php" and calling this function in my Template-File. At the beginn of the File I use the following code to load the class-File

$path = $_SERVER['DOCUMENT_ROOT'];
$path .= '/wp-content/plugins/woocommerce/includes/class-wc-customer.php';
require_once($path); 

But I receive an error message everytime I generate an invoice:

Fatal error: Call to undefined function is_customer_outside_base()

I have no idea, why this is not working, the path seems correct, I put an echo "$path" in the file and the output was: /var/www/vhosts/easy/httpdocs/wp-content/plugins/woocommerce/includes/class-wc-customer.php

The template-file has the following path: /var/www/vhosts/easy//httpdocs/wp-content/themes/corporate-pro/woocommerce/pdf/simple_ww_new/invoice.php

I hope for your advice. Thank you!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanhe1903 2018-12-10 15:57
    已采纳

    The require is working fine, otherwise you'd be faced with a fatal error for that, before it could reach the undefined function fatal error.

    Are you referencing the class in the function call?

    i.e. are you doing this: WC_Customer::is_customer_outside_base()

    instead of just this: is_customer_outside_base() (won't work)

    ?

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题