首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WooCommerce -从单独的WC_Order文件访问“WC_Order”

WooCommerce -从单独的WC_Order文件访问“WC_Order”
EN

Stack Overflow用户
提问于 2017-05-22 13:12:27
回答 1查看 3.1K关注 0票数 4

我使用Javascript直接从WooCommerce中的WooCommerce文件(通过Wordpress)调用一个PHP文件,该文件使用了GitHub上可用的'PHP‘代码。然而,我在访问

代码语言:javascript
复制
$order = new WC_Order($order_id);

我可以直接在WooCommerce后面访问这个函数吗?

代码语言:javascript
复制
 require_once('/wp-content/plugins/woocommerce/includes/class-wc-order.php');

下面是我调用的整个PHP代码:

代码语言:javascript
复制
$order_id = $_GET['order']; // pull the order info from the URL 
$order = new WC_Order($order_id); // this crashes this entire function!
echo $order->shipping_city; // this then fails
echo $order->shipping_country; // and this fails too

// this code doesn't then execute...
$filename = "test.xlsx";
header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');

$rows = array(
    array('Shipping Service Code',  'Company',  'Consignee Name',   'Address Line 1',   'Address Line 2',   'Address Line 3'),
    array('PPS',                    '-',        '-',                '-',                '-',                '-'),
);

$writer = new XLSXWriter();
$writer->setAuthor('EXAMPLE AUTHOR');

foreach($rows as $row)
$writer->writeSheetRow('Sheet1', $row);
$writer->writeToStdOut();

exit(0);

我得到的错误是:

代码语言:javascript
复制
 Fatal error: Class 'WC_Order' not found in C:\Webs\mysite.com\www\wp-admin\dhlgen.php on line 9

另一个想法是,如果可以直接在我的function.php文件中调用PHP代码的话。但是,我把它放在一个meta_box按钮上,所以当我单击按钮本身时,它只会保存顺序,而不会执行我的PHP代码。我认为这可能是因为XLSXWriter逻辑需要停止页面,以便转储它无法完成的Excel电子表格文件,所以它超时并继续保存页面。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-22 14:09:27

您应该能够通过包含WordPress文件来访问wp-blog-header环境(包括WooCommerce):

代码语言:javascript
复制
require('path/to/wp-blog-header.php');

或者,也可以选择wp-load文件:

代码语言:javascript
复制
require('path/to/wp-load.php');

Intergration Docs x- Related Question

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44113813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档