我已经与我的woocommerce商店开发了一个phonegap应用程序。 现在我想手动创建订单。 所以任何人都可以告诉我什么时候在woocommerce store中创建新订单时将多少数据插入到数据库中的哪些表中。我的意思是在生成新的订单时的数据,在这些数据中,表格和它们以何种方式存储。请帮助如何在woocommerce中手动创建订单?
0
A
回答
4
WooCommerce中的订单以表格wp_posts
的形式存储为post_type = 'shop_order'
。
订单中的每个订单商品都存储在wp_woocommerce_order_items
中,其中包含关于表wp_woocommerce_order_itemmeta
中每个订单商品行的其他信息。
要添加新命令:
- 插入一个新的订单进入
wp_posts
表 - 要求订单行添加到
wp_woocommerce_order_items
- 对于每个订单行的,加上订单的详细信息到
wp_woocommerce_order_itemmeta
。从MySQL转储
示例数据:
INSERT INTO wp_posts VALUES (38,1,'2014-06-09 10:02:00','2014-06-09 10:02:00','','Order – June 9, 2014 @ 10:02 AM','','publish','closed','closed','','order','','','2014-06-09 10:02:43','2014-06-09 10:02:43','',0,'http://example.com/?post_type=shop_order&p=38',0,'shop_order','',0);
INSERT INTO wp_woocommerce_order_items VALUES (33,'My product','line_item',38);
INSERT INTO wp_woocommerce_order_itemmeta VALUES (167,33,'_qty','1');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (168,33,'_tax_class','');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (169,33,'_product_id','20');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (170,33,'_variation_id','');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (171,33,'_line_subtotal','13');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (172,33,'_line_subtotal_tax','');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (173,33,'_line_total','13');
INSERT INTO wp_woocommerce_order_itemmeta VALUES (174,33,'_line_tax','');
我建议你尝试手动创建与你想要的生成为了使设置数据库的顺序,这样你看到的关系以及您需要手动设置的各种设置。
1
我在这段代码上花了很多时间 - 所以我想分享它。 它会创建一个新订单,并带有一件产品,通过客户的邮政编码将装运的货物添加到装运率一致的订单中。 我使用它为我的客户创建订购订单。
function create_order($user_id, $product_id)
{
$order = wc_create_order();
$order->set_created_via("subscription");
$product = wc_get_product($product_id);
$order->add_product($product, $quantity);
$order_id = $order->get_id();
$postcode = get_user_meta($user_id, 'shipping_postcode', true);
$package = array('destination' => array('country' => 'IL', 'postcode' => $postcode));
$zone = WC_Shipping_Zones::get_zone_matching_package($package);
$method = WC_Shipping_Zones::get_shipping_method($zone->get_id());
这是最难找到的。 get_shipping_method返回类名称。下一行创建它的实例。
$shipping = new $method;
现在拿到货的价格:
$rate = new WC_Shipping_Rate();
$rate->id = 'flat_rate';
$rate->label = 'shipment';
$rate->cost = $shipping->cost;
$rate->calc_tax = 'per_order'; // Not sure about this one
// Adding it to the order
$order->add_shipping($rate);
$order->calculate_totals();
// assign the order to the current user
update_post_meta($order->get_id(), '_customer_user', $user_id);
// payment_complete
$order->payment_complete();`
复制账单和发货信息
foreach (array('billing_first_name',
'billing_last_name',
'billing_phone',
'billing_address_1',
'billing_address_2',
'shipping_first_name',
'shipping_last_name',
'shipping_address_1',
'shipping_address_2',
'shipping_city',
'shipping_postcode') as $key) {
$values = get_user_meta($user_id, $key);
update_post_meta($order_id, "_" . $key, $values[0]);
}
相关问题
- 1. 创建WooCommerce订单
- 2. Woocommerce不会创建订单
- 3. WooCommerce:当管理员手动创建订单时需要挂钩
- 4. WooCommerce预订:在创建订单前检索预订数据
- 5. 手动创建订单时触发woocommerce_payment_complete
- 6. WooCommerce API:创建订单和结算
- 7. 创建后支付的Woocommerce订单
- 8. 注册后在woocommerce创建订阅或订单?
- 9. WooCommerce预订:以编程方式创建预订订单
- 10. PHP尝试在WooCommerce Api 2.0.1中获取订单ID创建订单功能
- 11. Woocommerce - 如何创建订单/报价以添加到购物车?
- 12. 如何创建订单?
- 13. Woocommerce订单号
- 14. 在Django中创建订单
- 15. 如何在GWT中手动创建JavaScriptObject?
- 16. 使用Sagepay将手动订阅续订更改为自动在Woocommerce中
- 17. Woocommerce结帐过程在付款时创建新订单
- 18. 在woocommerce订单页面上创建客户搜索过滤器
- 19. 自动订单日期在订单完成时更改Woocommerce
- 20. WooCommerce新订单电子邮件手动触发某些产品
- 21. WooCommerce订阅低于订单
- 22. 设置WooCommerce订单状态,当从处理创建订单到待处理
- 23. WooCommerce订阅在没有试用期限的情况下创建订单
- 24. 如何手动创建UISplitView?
- 25. 如何手动创建TypeTag?
- 26. 如何手动创建all.js?
- 27. 如何手动创建tf.Summary()
- 28. Woocommerce订单导出
- 29. 从virtmart管理面板手动创建订单
- 30. 如何重命名woocommerce订单操作
你们可以告诉我通过文件订单数据的时候插入数据库订单创建... –
你是指在WordPress/WooCommerce的PHP文件中定期创建店内订单的代码? – Nils
是的,并告诉我一件事,数据库中存储的订单的税额是多少 –