Php 如何在woocommerce中手动创建订单?
我已经和我的woocommerce商店开发了一个phonegap应用程序。 现在我想手动创建订单。Php 如何在woocommerce中手动创建订单?,php,wordpress,cordova,woocommerce,Php,Wordpress,Cordova,Woocommerce,我已经和我的woocommerce商店开发了一个phonegap应用程序。 现在我想手动创建订单。 所以,任何人都可以告诉我在woocommerce存储中创建新订单时,在数据库的哪个表中插入了多少数据。我指的是生成新订单时的数据,它们存储在哪个表中,以什么方式存储。请帮助WooCommerce中的订单存储为WordPress post,其post\u type='shop\u order'位于表wp\u posts中 订单中的每个订单项目都存储在wp\u-woocommerce\u-order\
所以,任何人都可以告诉我在woocommerce存储中创建新订单时,在数据库的哪个表中插入了多少数据。我指的是生成新订单时的数据,它们存储在哪个表中,以什么方式存储。请帮助WooCommerce中的订单存储为WordPress post,其
post\u type='shop\u order'
位于表wp\u posts
中
订单中的每个订单项目都存储在wp\u-woocommerce\u-order\u-items
中,并在表wp\u-woocommerce\u-order\u-itemmeta
中提供关于每个订单项目行的附加信息
要添加新订单,请执行以下操作:
wp\u posts
表中插入新订单wp\u woodcommerce\u order\u项目中
wp\u woocommerce\u order\u itemmeta
中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','');
我建议您尝试在数据库中手动创建订单,并使用您希望生成的订单具有的设置,通过这种方式,您可以看到需要手动设置的关系和各种设置。WooCommerce中的订单存储为WordPress post,并在表
wp\u posts
中使用post\u type='shop\u order'
订单中的每个订单项目都存储在wp\u-woocommerce\u-order\u-items
中,并在表wp\u-woocommerce\u-order\u-itemmeta
中提供关于每个订单项目行的附加信息
要添加新订单,请执行以下操作:
wp\u posts
表中插入新订单wp\u woodcommerce\u order\u项目中
wp\u woocommerce\u order\u itemmeta
中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','');
我建议您尝试使用希望生成的订单具有的设置在数据库中手动创建订单,这样您可以看到需要手动设置的关系和各种设置。我花了很多时间编写这段代码,因此我想与大家分享。 它创建一个新订单,使用一个产品,按照客户的邮政编码,以固定的发货率将发货添加到订单中。 我使用它为我的客户创建订阅订单。
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\u shipping\u方法返回类名。下一行创建它的实例
$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]);
}
我花了很多时间在这段代码上,所以我想与大家分享。 它创建一个新订单,使用一个产品,按照客户的邮政编码,以固定的发货率将发货添加到订单中。 我使用它为我的客户创建订阅订单。
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\u shipping\u方法返回类名。下一行创建它的实例
$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]);
}
你们能告诉我在创建订单时,是通过哪个文件将订单数据插入到数据库中的吗…你们是说在WordPress/WooCommerce中的哪个PHP文件中,有一个常规的,店内订单创建驻留?是的,请告诉我数据库中存储的订单税在哪里查看插入
wp\u woodcommerce\u order\u itemmeta
的最后一行-\u line\u tax
元值。确定所涉及的行和字段的最简单方法,通过常规WooCommerce界面操作订单/产品,同时使用MySQL界面查看更改DD。你们能告诉我在创建订单时,通过哪个文件将订单数据插入到数据库中吗…你们是说在WordPress/WooCommerce中的哪个PHP文件中是常规订单的代码,店内订单创建驻留?是的,请告诉我数据库中存储的订单税在哪里查看插入wp\u woodcommerce\u order\u itemmeta
的最后一行-\u line\u tax
元值。最简单的方法是通过常规的WooCommerce界面操作订单/产品,同时使用MySQL界面查看所涉及的行和字段。