WooCommerce Code Reference

Search results

WC_Abstract_Legacy_Order extends WC_Data

Legacy Abstract Order

Legacy and deprecated functions are here to keep the WC_Abstract_Order clean. This class will be removed in future versions.

Table of Contents

$id ID for this object. int
$data Core data for this object. Name value pairs (name + default value). array
$changes Core data changes for this object. array
$object_read This is false until the object is read from the DB. bool
$object_type This is the name of this object type. string
$extra_data Extra data for this object. Name value pairs (name + default value). array
$default_data Set to _data on construct so we can track and reset data if needed. array
$data_store Contains a reference to the data store for this class. object
$cache_group Stores meta in cache for future reads. string
$meta_data Stores additional meta data. array
add_coupon() Add coupon code to the order. int
add_tax() Add a tax row to the order. int
add_shipping() Add a shipping row to the order. int
add_fee() Add a fee to the order. int
update_product() Update a line item for the order. int
update_coupon() Update coupon for order. Note this does not update order totals. int
update_shipping() Update shipping method for order. int
update_fee() Update fee for order. int
update_tax() Update tax line on order. int
get_product_from_item() Get a product (either product or variation). WC_Product|bool
set_address() Set the customer address. mixed
legacy_set_total() Set an order total. bool
__isset() Magic __isset method for backwards compatibility. Handles legacy properties which could be accessed directly in the past. bool
__get() Magic __get method for backwards compatibility. mixed
has_meta() has_meta function for order items. This is different to the WC_Data version and should be removed in future versions. array
display_item_meta() Display meta data belonging to an item. mixed
display_item_downloads() Display download links for an order item. mixed
get_download_url() Get the Download URL. string
get_item_downloads() Get the downloadable files for an item in this order. array
get_total_shipping() Gets shipping total. Alias of WC_Order::get_shipping_total(). float
get_item_meta() Get order item meta. array|string
get_item_meta_array() Get all item meta data in array format in the order it was saved. Does not group meta by key like get_item_meta(). array
get_used_coupons() Get coupon codes only. array
expand_item_meta() Expand item meta into the $item array. array
init() Load the order object. Called from the constructor. mixed
get_order() Gets an order from the database. bool
populate() Populates an order from the loaded post data. mixed
cancel_order() Cancel the order and restore the cart (before payment). mixed
record_product_sales() Record sales. mixed
increase_coupon_usage_counts() Increase applied coupon counts. mixed
decrease_coupon_usage_counts() Decrease applied coupon counts. mixed
reduce_order_stock() Reduce stock levels for all line items in the order. mixed
send_stock_notifications() Send the stock notifications. mixed
email_order_items_table() Output items for display in html emails. string
get_order_currency() Get currency. mixed
__construct() Default constructor. mixed
__sleep() Only store the object ID to avoid serializing the data object instance. array
__wakeup() Re-run the constructor with the object ID. mixed
__clone() When the object is cloned, make sure meta is duplicated correctly. mixed
get_data_store() Get the data store. object
get_id() Returns the unique ID for this object. int
delete() Delete an object, set the ID to 0, and return result. bool
save() Save should create or update based on object existence. int
__toString() Change data to JSON format. string
get_data() Returns all data for this object. array
get_data_keys() Returns array of expected data keys for this object. array
get_extra_data_keys() Returns all "extra" data keys for an object (for sub objects like product types). array
filter_null_meta() Filter null meta values from array. bool
get_meta_data() Get All Meta Data. array
is_internal_meta_key() Check if the key is an internal one. bool
get_meta() Get Meta Data by Key. mixed
meta_exists() See if meta data exists, since get_meta always returns a '' or array(). bool
set_meta_data() Set all meta data from array. mixed
add_meta_data() Add meta data. mixed
update_meta_data() Update meta data by key or ID, if provided. mixed
delete_meta_data() Delete meta data. mixed
delete_meta_data_by_mid() Delete meta data. mixed
maybe_read_meta_data() Read meta data if null. mixed
read_meta_data() Read Meta Data from the database. Ignore any internal properties. mixed
save_meta_data() Update Meta Data in the database. mixed
set_id() Set ID. mixed
set_defaults() Set all props to default values. mixed
set_object_read() Set object read property. mixed
get_object_read() Get object read property. bool
set_props() Set a collection of props in one go, collect any errors, and return the result. bool|WP_Error
set_prop() Sets a prop for a setter method. mixed
get_changes() Return data changes only. array
apply_changes() Merge changes with data and clear. mixed
get_hook_prefix() Prefix for action and filter hooks on data. string
get_prop() Gets a prop for a getter method. mixed
set_date_prop() Sets a date prop whilst handling formatting and datetime objects. mixed
error() When invalid data is found, throw an exception unless reading from the DB. mixed

Properties

$data

Core data for this object. Name value pairs (name + default value).

protected array $data = array()

$changes

Core data changes for this object.

protected array $changes = array()

$object_read

This is false until the object is read from the DB.

protected bool $object_read = \false

$object_type

This is the name of this object type.

protected string $object_type = 'data'

$extra_data

Extra data for this object. Name value pairs (name + default value).

protected array $extra_data = array()
Used as a standard way for sub classes (like product types) to add additional information to an inherited class.

$default_data

Set to _data on construct so we can track and reset data if needed.

protected array $default_data = array()

$data_store

Contains a reference to the data store for this class.

protected object $data_store

$cache_group

Stores meta in cache for future reads.

protected string $cache_group = ''
A group must be set to to enable caching.

$meta_data

Stores additional meta data.

protected array $meta_data = \null

Methods

add_coupon()

Add coupon code to the order.

public add_coupon( [ $code : string|array = array() ] , $discount : int , $discount_tax : int ) : int
Parameters
$code : string|array = array()
$discount : int

tax amount.

$discount_tax : int

amount.

Tags
throws
Return values
int

order item ID

add_tax()

Add a tax row to the order.

public add_tax( $tax_rate_id : int , $tax_amount : int , $shipping_tax_amount : int ) : int
Parameters
$tax_rate_id : int
$tax_amount : int

amount of tax.

$shipping_tax_amount : int

shipping amount.

Tags
throws
Return values
int

order item ID

add_shipping()

Add a shipping row to the order.

public add_shipping( $shipping_rate : mixed ) : int
Parameters
$shipping_rate : mixed
Tags
throws
Return values
int

order item ID

add_fee()

Add a fee to the order.

public add_fee( $fee : object ) : int

Order must be saved prior to adding items.

Fee is an amount of money charged for a particular piece of work or for a particular right or service, and not supposed to be negative.

Parameters
$fee : object

Fee data.

Tags
throws
Return values
int

Updated order item ID.

update_product()

Update a line item for the order.

public update_product( $item : object|int , $product : WC_Product , $args : array ) : int

Note this does not update order totals.

Parameters
$item : object|int

order item ID or item object.

$product : WC_Product
$args : array

data to update.

Tags
throws
Return values
int

updated order item ID

update_coupon()

Update coupon for order. Note this does not update order totals.

public update_coupon( $item : object|int , $args : array ) : int
Parameters
$item : object|int
$args : array
Tags
throws
Return values
int

updated order item ID

update_shipping()

Update shipping method for order.

public update_shipping( $item : object|int , $args : array ) : int

Note this does not update the order total.

Parameters
$item : object|int
$args : array
Tags
throws
Return values
int

updated order item ID

update_fee()

Update fee for order.

public update_fee( $item : object|int , $args : array ) : int

Note this does not update order totals.

Parameters
$item : object|int
$args : array
Tags
throws
Return values
int

updated order item ID

update_tax()

Update tax line on order.

public update_tax( $item : object|int , $args : array ) : int

Note this does not update order totals.

Parameters
$item : object|int
$args : array
Tags
since
throws
Return values
int

updated order item ID

get_product_from_item()

Get a product (either product or variation).

public get_product_from_item( $item : object ) : WC_Product|bool
Parameters
$item : object
Tags
deprecated
Return values
WC_Product|bool

set_address()

Set the customer address.

public set_address( $address : array [, $type : string = 'billing' ] ) : mixed
Parameters
$address : array

Address data.

$type : string = 'billing'

billing or shipping.

Return values
mixed

legacy_set_total()

Set an order total.

public legacy_set_total( $amount : float [, $total_type : string = 'total' ] ) : bool
Parameters
$amount : float
$total_type : string = 'total'
Return values
bool

__isset()

Magic __isset method for backwards compatibility. Handles legacy properties which could be accessed directly in the past.

public __isset( $key : string ) : bool
Parameters
$key : string
Return values
bool

__get()

Magic __get method for backwards compatibility.

public __get( $key : string ) : mixed
Parameters
$key : string
Return values
mixed

has_meta()

has_meta function for order items. This is different to the WC_Data version and should be removed in future versions.

public has_meta( $order_item_id : int ) : array
Parameters
$order_item_id : int
Tags
deprecated
Return values
array

of meta data.

display_item_meta()

Display meta data belonging to an item.

public display_item_meta( $item : array ) : mixed
Parameters
$item : array
Return values
mixed

display_item_downloads()

Display download links for an order item.

public display_item_downloads( $item : array ) : mixed
Parameters
$item : array
Return values
mixed

get_download_url()

Get the Download URL.

public get_download_url( $product_id : int , $download_id : int ) : string
Parameters
$product_id : int
$download_id : int
Return values
string

get_item_downloads()

Get the downloadable files for an item in this order.

public get_item_downloads( $item : array ) : array
Parameters
$item : array
Return values
array

get_total_shipping()

Gets shipping total. Alias of WC_Order::get_shipping_total().

public get_total_shipping( ) : float
Tags
deprecated

since this is an alias only.

Return values
float

get_item_meta()

Get order item meta.

public get_item_meta( $order_item_id : mixed [, $key : string = '' ] [, $single : bool = false ] ) : array|string
Parameters
$order_item_id : mixed
$key : string = ''

(default: '')

$single : bool = false

(default: false)

Tags
deprecated
Return values
array|string

get_item_meta_array()

Get all item meta data in array format in the order it was saved. Does not group meta by key like get_item_meta().

public get_item_meta_array( $order_item_id : mixed ) : array
Parameters
$order_item_id : mixed
Return values
array

of objects

get_used_coupons()

Get coupon codes only.

public get_used_coupons( ) : array
Tags
deprecated
  • Replaced with better named method to reflect the actual data being returned.
Return values
array

expand_item_meta()

Expand item meta into the $item array.

public expand_item_meta( $item : array ) : array
Parameters
$item : array

before expansion.

Tags
deprecated

Item meta no longer expanded due to new order item classes. This function now does nothing to avoid data breakage.

Return values
array

init()

Load the order object. Called from the constructor.

protected init( $order : int|object|WC_Order ) : mixed
Parameters
$order : int|object|WC_Order

Order to init.

Tags
deprecated

Logic moved to constructor

Return values
mixed

get_order()

Gets an order from the database.

public get_order( $id : int ) : bool
Parameters
$id : int

(default: 0).

Tags
deprecated
Return values
bool

populate()

Populates an order from the loaded post data.

public populate( $result : mixed ) : mixed
Parameters
$result : mixed
Tags
deprecated
Return values
mixed

cancel_order()

Cancel the order and restore the cart (before payment).

public cancel_order( [ $note : string = '' ] ) : mixed
Parameters
$note : string = ''

(default: '') Optional note to add.

Tags
deprecated

Moved to event handler.

Return values
mixed

record_product_sales()

Record sales.

public record_product_sales( ) : mixed
Tags
deprecated
Return values
mixed

increase_coupon_usage_counts()

Increase applied coupon counts.

public increase_coupon_usage_counts( ) : mixed
Tags
deprecated
Return values
mixed

decrease_coupon_usage_counts()

Decrease applied coupon counts.

public decrease_coupon_usage_counts( ) : mixed
Tags
deprecated
Return values
mixed

reduce_order_stock()

Reduce stock levels for all line items in the order.

public reduce_order_stock( ) : mixed
Tags
deprecated
Return values
mixed

send_stock_notifications()

Send the stock notifications.

public send_stock_notifications( $product : , $new_stock : , $qty_ordered : ) : mixed
Parameters
$product :
$new_stock :
$qty_ordered :
Tags
deprecated

No longer needs to be called directly.

Return values
mixed

email_order_items_table()

Output items for display in html emails.

public email_order_items_table( [ $args : array = array() ] ) : string
Parameters
$args : array = array()

Items args.

Tags
deprecated

Moved to template functions.

Return values
string

get_order_currency()

Get currency.

public get_order_currency( ) : mixed
Tags
deprecated
Return values
mixed

__construct()

Default constructor.

public __construct( $read : int|object|array ) : mixed
Parameters
$read : int|object|array

ID to load from the DB (optional) or already queried data.

Return values
mixed

__sleep()

Only store the object ID to avoid serializing the data object instance.

public __sleep( ) : array
Return values
array

__wakeup()

Re-run the constructor with the object ID.

public __wakeup( ) : mixed

If the object no longer exists, remove the ID.

Return values
mixed

__clone()

When the object is cloned, make sure meta is duplicated correctly.

public __clone( ) : mixed
Tags
since
Return values
mixed

get_data_store()

Get the data store.

public get_data_store( ) : object
Tags
since
Return values
object

get_id()

Returns the unique ID for this object.

public get_id( ) : int
Tags
since
Return values
int

delete()

Delete an object, set the ID to 0, and return result.

public delete( [ $force_delete : bool = false ] ) : bool
Parameters
$force_delete : bool = false

Should the date be deleted permanently.

Tags
since
Return values
bool

result

save()

Save should create or update based on object existence.

public save( ) : int
Tags
since
Return values
int

__toString()

Change data to JSON format.

public __toString( ) : string
Tags
since
Return values
string

Data in JSON format.

get_data()

Returns all data for this object.

public get_data( ) : array
Tags
since
Return values
array

get_data_keys()

Returns array of expected data keys for this object.

public get_data_keys( ) : array
Tags
since
Return values
array

get_extra_data_keys()

Returns all "extra" data keys for an object (for sub objects like product types).

public get_extra_data_keys( ) : array
Tags
since
Return values
array

filter_null_meta()

Filter null meta values from array.

protected filter_null_meta( $meta : mixed ) : bool
Parameters
$meta : mixed

Meta value to check.

Tags
since
Return values
bool

get_meta_data()

Get All Meta Data.

public get_meta_data( ) : array
Tags
since
Return values
array

of objects.

is_internal_meta_key()

Check if the key is an internal one.

protected is_internal_meta_key( $key : string ) : bool
Parameters
$key : string

Key to check.

Tags
since
Return values
bool

true if it's an internal key, false otherwise

get_meta()

Get Meta Data by Key.

public get_meta( [ $key : string = '' ] [, $single : bool = true ] [, $context : string = 'view' ] ) : mixed
Parameters
$key : string = ''

Meta Key.

$single : bool = true

return first found meta with key, or all with $key.

$context : string = 'view'

What the value is for. Valid values are view and edit.

Tags
since
Return values
mixed

meta_exists()

See if meta data exists, since get_meta always returns a '' or array().

public meta_exists( [ $key : string = '' ] ) : bool
Parameters
$key : string = ''

Meta Key.

Tags
since
Return values
bool

set_meta_data()

Set all meta data from array.

public set_meta_data( $data : array ) : mixed
Parameters
$data : array

Key/Value pairs.

Tags
since
Return values
mixed

add_meta_data()

Add meta data.

public add_meta_data( $key : string , $value : string|array [, $unique : bool = false ] ) : mixed
Parameters
$key : string

Meta key.

$value : string|array

Meta value.

$unique : bool = false

Should this be a unique key?.

Tags
since
Return values
mixed

update_meta_data()

Update meta data by key or ID, if provided.

public update_meta_data( $key : string , $value : string|array , $meta_id : int ) : mixed
Parameters
$key : string

Meta key.

$value : string|array

Meta value.

$meta_id : int

Meta ID.

Tags
since
Return values
mixed

delete_meta_data()

Delete meta data.

public delete_meta_data( $key : string ) : mixed
Parameters
$key : string

Meta key.

Tags
since
Return values
mixed

delete_meta_data_by_mid()

Delete meta data.

public delete_meta_data_by_mid( $mid : int ) : mixed
Parameters
$mid : int

Meta ID.

Tags
since
Return values
mixed

maybe_read_meta_data()

Read meta data if null.

protected maybe_read_meta_data( ) : mixed
Tags
since
Return values
mixed

read_meta_data()

Read Meta Data from the database. Ignore any internal properties.

public read_meta_data( [ $force_read : bool = false ] ) : mixed

Uses it's own caches because get_metadata does not provide meta_ids.

Parameters
$force_read : bool = false

True to force a new DB read (and update cache).

Tags
since
Return values
mixed

save_meta_data()

Update Meta Data in the database.

public save_meta_data( ) : mixed
Tags
since
Return values
mixed

set_id()

Set ID.

public set_id( $id : int ) : mixed
Parameters
$id : int

ID.

Tags
since
Return values
mixed

set_defaults()

Set all props to default values.

public set_defaults( ) : mixed
Tags
since
Return values
mixed

set_object_read()

Set object read property.

public set_object_read( [ $read : bool = true ] ) : mixed
Parameters
$read : bool = true

Should read?.

Tags
since
Return values
mixed

get_object_read()

Get object read property.

public get_object_read( ) : bool
Tags
since
Return values
bool

set_props()

Set a collection of props in one go, collect any errors, and return the result.

public set_props( $props : array [, $context : string = 'set' ] ) : bool|WP_Error

Only sets using public methods.

Parameters
$props : array

Key value pairs to set. Key is the prop and should map to a setter function name.

$context : string = 'set'

In what context to run this.

Tags
since
Return values
bool|WP_Error

set_prop()

Sets a prop for a setter method.

protected set_prop( $prop : string , $value : mixed ) : mixed

This stores changes in a special array so we can track what needs saving the the DB later.

Parameters
$prop : string

Name of prop to set.

$value : mixed

Value of the prop.

Tags
since
Return values
mixed

get_changes()

Return data changes only.

public get_changes( ) : array
Tags
since
Return values
array

apply_changes()

Merge changes with data and clear.

public apply_changes( ) : mixed
Tags
since
Return values
mixed

get_hook_prefix()

Prefix for action and filter hooks on data.

protected get_hook_prefix( ) : string
Tags
since
Return values
string

get_prop()

Gets a prop for a getter method.

protected get_prop( $prop : string [, $context : string = 'view' ] ) : mixed

Gets the value from either current pending changes, or the data itself. Context controls what happens to the value before it's returned.

Parameters
$prop : string

Name of prop to get.

$context : string = 'view'

What the value is for. Valid values are view and edit.

Tags
since
Return values
mixed

set_date_prop()

Sets a date prop whilst handling formatting and datetime objects.

protected set_date_prop( $prop : string , $value : string|int ) : mixed
Parameters
$prop : string

Name of prop to set.

$value : string|int

Value of the prop.

Tags
since
Return values
mixed

error()

When invalid data is found, throw an exception unless reading from the DB.

protected error( $code : string , $message : string [, $http_status_code : int = 400 ] [, $data : array = array() ] ) : mixed
Parameters
$code : string

Error code.

$message : string

Error message.

$http_status_code : int = 400

HTTP status code.

$data : array = array()

Extra error data.

Tags
throws

Data Exception.

since
Return values
mixed
Back to the top