大佬教程收集整理的这篇文章主要介绍了在Woocommerce中以编程方式创建新订单,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题出在您的动作挂钩上。使用以下钩子:
add_action('woocommerce_checkout_process', 'create_vip_order');
function create_vip_order() {
global $woocommerce;
$address = array(
'first_name' => '111Joe',
'last_name' => 'Conlin',
'company' => 'Speed SocIEty',
'email' => 'joe@tesTing.com',
'phone' => '760-555-1212',
'address_1' => '123 Main st.',
'address_2' => '104',
'city' => 'San DIEgo',
'state' => 'Ca',
'postcode' => '92121',
'country' => 'US'
);
// Now we create the order
$order = wc_create_order();
// The add_product() function below is located in /plugins/woocommerce/includes/abstracts/abstract_wc_order.php
$order->add_product( get_product('275962'), 1); // This is an exisTing SIMPLE product
$order->set_address( $address, 'billing' );
//
$order->calculate_@R_183_10586@ls();
$order->@R_618_9531@e_status("Completed", 'imported order', TRUE);
}
确保给定的产品ID在系统中。
我最困难的时间是在WooCommerce中以编程方式创建订单。我正在使用下面的代码,是否正在创建订单,但是我无法获得客户信息或添加到订单的产品线项目。创建的新订单只是访客,没有任何物品,用户信息等。
问题似乎是,一旦创建了订单对象,尝试向订单中添加数据时就会失败。
function create_vip_order() {
global $woocommerce;
$address = array(
'first_name' => '111Joe','last_name' => 'Conlin','company' => 'Speed Society','email' => 'joe@tesTing.com','phone' => '760-555-1212','address_1' => '123 Main st.','address_2' => '104','city' => 'San Diego','state' => 'Ca','postcode' => '92121','country' => 'US'
);
// Now we create the order
$order = wc_create_order();
// The add_product() function below is located in /plugins/woocommerce/includes/abstracts/abstract_wc_order.php
$order->add_product( get_product( '275962' ),1 ); // This is an exisTing SIMPLE product
$order->set_address( $address,'billing' );
//
$order->calculate_@R_183_10586@ls();
$order->@R_618_9531@e_status("Completed",'Imported order',TRUE);
}
add_action( 'woocommerce_init','create_vip_order' );
这是我在日志中遇到的错误:
[19-Apr-2016 21:16:38 UTC] php Fatal error: Uncaught Error: Call to a member function add_product() on Boolean in /Users/joe/Sites/speedsociety-2/wp-content/themes/ss/lib/contests/order.php:107
Stack trace:
#0 /Users/joe/Sites/speedsociety-2/wp-includes/plugin.php(525): create_vip_order('')
#1 /Users/joe/Sites/speedsociety-2/wp-content/plugins/woocommerce/woocommerce.php(330): do_action('woocommerce_ini...')
#2 /Users/joe/Sites/speedsociety-2/wp-includes/plugin.php(525): WooCommerce->init('')
#3 /Users/joe/Sites/speedsociety-2/wp-setTings.php(392): do_action('init')
#4 /Users/joe/Sites/speedsociety-2/wp-config.php(67): require_once('/Users/joe/Site...')
#5 /Users/joe/Sites/speedsociety-2/wp-load.php(37): require_once('/Users/joe/Site...')
#6 /Users/joe/Sites/speedsociety-2/wp-admin/admin.php(31): require_once('/Users/joe/Site...')
#7 /Users/joe/Sites/speedsociety-2/wp-admin/edit.php(10): require_once('/Users/joe/Site...')
#8 {main}
thrown in /Users/joe/Sites/speedsociety-2/wp-content/themes/ss/lib/contests/order.php on line 107
任何帮助,将不胜感激!
以上是大佬教程为你收集整理的在Woocommerce中以编程方式创建新订单全部内容,希望文章能够帮你解决在Woocommerce中以编程方式创建新订单所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。