Class reference of Dokan Order Manager

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 );

Leave a Reply

Your email address will not be published. Required fields are marked *