Php WooCommerce新订单操作-获取订单信息
我用它在Php WooCommerce新订单操作-获取订单信息,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我用它在functions.php文件中创建一个新函数 add_action( 'woocommerce_new_order', 'create_invoice_for_wc_order', 1, 1 ); function create_invoice_for_wc_order() { } 它是在下新订单时执行一些自定义代码,如何在我的函数中获取订单信息(订购的产品等)woocommerce\u new\u order包括一个$order\u id参数。您可以在回调中使用它: add_
functions.php
文件中创建一个新函数
add_action( 'woocommerce_new_order', 'create_invoice_for_wc_order', 1, 1 );
function create_invoice_for_wc_order() {
}
它是在下新订单时执行一些自定义代码,如何在我的函数中获取订单信息(订购的产品等)
woocommerce\u new\u order
包括一个$order\u id
参数。您可以在回调中使用它:
add_action( 'woocommerce_new_order', 'create_invoice_for_wc_order', 1, 1 );
function create_invoice_for_wc_order( $order_id ) {
$order = new WC_Order( $order_id );
$items = $order->get_items();
// etc...
}
您可以使用
$order\u id
作为woocommerce\u new\u order
回调的参数,并从$order\u id
获取订单详细信息
例如:
// define the woocommerce_new_order callback
function create_invoice_for_wc_order( $order_id ) {
// get order details data...
$order = new WC_Order( $order_id );
var_dump($order);
};
参考资料:
此处的所有答案都是正确的,但如果您需要行项目,则上述方法将不起作用,因为此时无法使用新的WC\U订单获取行项目 钩子现在有第二个
$order
参数可以工作
add_action( 'woocommerce_new_order', 'create_invoice_for_wc_order', 1, 2 );
function create_invoice_for_wc_order( $order_id, $order ) {
$items = $order->get_items();
// etc...
}
您可以使用
$order=wc\u get\u order($order\u id)
我尝试了这个,然后我尝试了插入打印($order\u id)
插入数据库表中的1
是添加新订单时使用的正确操作吗?@charlie值1是因为print\u r()直接打印输出并返回true(1)。如果要使用输出,请使用print\r($order\u id,true)。我已尝试插入var\u dump($order)
进入数据库,但它只是空白。您可以尝试使用woocommerce\u order\u status\u completed
或woocommerce\u payment\u complete
操作。我希望它适用于新订单-当通过网站或wp Admin下订单时,上述两个操作实际上适用于新订单。