Namespace: WeDevs\Dokan\Order;
Class Name: Manager;
Method type: non-static;
File Location: dokan-lite/includes/Order/Manager.php
Method References:
WeDevs\Dokan\Order::all( array $args = [ ] ) and dokan_get_seller_orders( $seller_id, $status = ‘all’, $order_date = null, $limit = 10, $offset = 0, $customer_id = null )
Description #
Dokan_get_seller_orders and Manager->all() provides a standard way of retrieving vendor orders.
Parameters #
$args
(array) (Optional) Takes different parameters for query different orders
- ‘seller_id’
(int) The seller ID. Default current user ID.
- ‘customer_id’
(int) The customer id who places the order. Default null.
- ‘status’
(string) Order status of the order. Default ‘all’ (Example status: wc-complete, wc-processing).
- ‘paged’
(int) This parameter is used for pagination. Default 1.
- ‘limit’
(int) How many items to retrieve is determined with this parameter. Default 10.
- ‘date’
(string) Retrieve orders vai date. Default null.
Return #
(array) The list of orders on success.
More information #
Usage #
// Below $args values are default. This value can be changed as per needs.
$args = [
'seller_id' => dokan_get_current_user_id(),
'customer_id' => null,
'status' => 'all',
'paged' => 1,
'limit' => 10,
'date' => null,
];
dokan()->order->all( $args );
// Or you we call without $args.
dokan()->order->all();
WeDevs\Dokan\Order::get( $id )
Description #
get() provides a standard way of retrieving a single order detail.
Parameters #
$id
(int) (Required) Takes an order id;
Return #
(object) Retrieve the order object of the id.
More information #
Usage #
Getting a single order detail we can use this method as below.
// Example id 21$id = 21;
dokan()->order->get( $id );
WeDevs\Dokan\Order::create_sub_order( $parent_order, $seller_id, $seller_products )
Description #
This method is responsible for creating sub orders for vendors. When an order is placed by a customer, Dokan splits this order according to the vendor’s products.
Parameters #
$parent_order
(object) (Required) The product object;
$seller_id
(int) (Required) Vendor or seller id;
$seller_products
(array) (Required) Product object
Return #
(object) Retrieve the sub order object.
More information #
Usage #
$parent_order = new WC_Order();
$seller_id = 3;
$seller_products = [ ‘name’ => ‘Simple product’, ‘description’ => ‘This is a simple product’ ];
dokan()->order->create_sub_order( $parent_order, $seller_id, $seller_products );
WeDevs\Dokan\Order::create_line_items( $order, $products )
Description #
This method creates line items for order.
Parameters #
$order
(object) (Required) The order object;
$products
(arrya) (Required) the product array;
Return #
(void) Just creates line items, nothing returns.
More information #
Usage #
$order = new WC_Order();$seller_products = wc_get_products;
dokan()->order->create_line_items( $order, $seller_products );
WeDevs\Dokan\Order::create_taxes( $order, $parent_order, $products )
Description #
This method creates tax line items.
Parameters #
$order
(object) (Required) The order object;
$parent_order
(object) (Required) the parent order object;
$products
(array) (Required) Product array;
Return #
(void) Nothing is returned.
More information #
Usage #
$order = new WC_Order(); // example order
$parent_order = new WC_Order(); // example parent order
$products = get_post( 'post_type'=> 'product', 'posts_per_page' => -1 );
dokan()->order->create_taxes( $order, $parent_order, $products );
WeDevs\Dokan\Order::create_shipping( $order, $parent_order )
Description #
Creates shipping for a sub-order if necessary.
Parameters #
$order
(object) (Required) The order object;
$parent_order
(object) (Required) the parent order object;
Return #
(void) Nothing is returned.
More information #
Usage #
$order = new WC_Order(); // Example $order object
$parent_order = new WC_Order(); // Example $parent order object
dokan()->order->create_shipping( $order, $parent_order );
WeDevs\Dokan\Order::create_coupons( $order, $parent_order, $products )
Description #
Create coupons for a sub-order if necessary.
Parameters #
$order
(object) (Required) The order object;
$parent_order
(object) (Required) the parent order object;
$products
(array) (Required) Product array;
Return #
(void) Nothing is returned.
More information #
Usage #
$order = new WC_Order(); // example order
$parent_order = new WC_Order(); // example parent order
$products = get_post( 'post_type'=> 'product', 'posts_per_page' => -1 );
dokan()->order->create_coupons( $order, $parent_order, $products );
WeDevs\Dokan\Order::maybe_split_orders( $parent_order_id )
Description #
If an order contains products from multiple vendors, we can’t show the order to each seller’s dashboard. That’s why we need to divide the main order into some sub-orders based on the number of sellers.
Parameters #
$order
(int) (Required) The parent order id (parent post id);
Return #
(void) Nothing is returned.
More information #
Usage #
// For making a order into sub orders for different vendors
dokan()->order->maybe_split_orders( $parent_order_id );