Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在woocommerce中手动创建订单?_Php_Wordpress_Cordova_Woocommerce - Fatal编程技术网

Php 如何在woocommerce中手动创建订单?

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商店开发了一个phonegap应用程序。 现在我想手动创建订单。
所以,任何人都可以告诉我在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
  • 来自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','');
    

    我建议您尝试在数据库中手动创建订单,并使用您希望生成的订单具有的设置,通过这种方式,您可以看到需要手动设置的关系和各种设置。

    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
  • 来自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','');
    

    我建议您尝试使用希望生成的订单具有的设置在数据库中手动创建订单,这样您可以看到需要手动设置的关系和各种设置。

    我花了很多时间编写这段代码,因此我想与大家分享。 它创建一个新订单,使用一个产品,按照客户的邮政编码,以固定的发货率将发货添加到订单中。 我使用它为我的客户创建订阅订单。

    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界面查看所涉及的行和字段。