WooCommerce Code Reference

WC_Order_Item_Shipping extends WC_Order_Item
in package

Order item shipping class.

Implemented by classes using the same CRUD(s) pattern.

Table of Contents

$cache_group  : string
Stores meta in cache for future reads.
$changes  : array
Core data changes for this object.
$data  : array
Core data for this object. Name value pairs (name + default value).
$data_store  : object
Contains a reference to the data store for this class.
$default_data  : array
Set to _data on construct so we can track and reset data if needed.
$extra_data  : array
Order Data array. This is the core order data exposed in APIs since 3.0.0.
$id  : int
ID for this object.
$meta_data  : array
Stores additional meta data.
$meta_type  : string
Meta type. This should match up with the types available at https://developer.wordpress.org/reference/functions/add_metadata/.
$object_read  : bool
This is false until the object is read from the DB.
$object_type  : string
This is the name of this object type.
__clone()  : mixed
When the object is cloned, make sure meta is duplicated correctly.
__construct()  : mixed
Default constructor.
__sleep()  : array
Only store the object ID to avoid serializing the data object instance.
__toString()  : string
Change data to JSON format.
__wakeup()  : mixed
Re-run the constructor with the object ID.
add_meta_data()  : mixed
Add meta data.
apply_changes()  : mixed
Merge changes with data and clear.
calculate_taxes()  : bool
Calculate item taxes.
delete()  : bool
Delete an object, set the ID to 0, and return result.
delete_meta_data()  : mixed
Delete meta data.
delete_meta_data_by_mid()  : mixed
Delete meta data.
get_changes()  : array
Return data changes only.
get_data()  : array
Returns all data for this object.
get_data_keys()  : array
Returns array of expected data keys for this object.
get_data_store()  : object
Get the data store.
get_extra_data_keys()  : array
Returns all "extra" data keys for an object (for sub objects like product types).
get_formatted_meta_data()  : array
Expands things like term slugs before return.
get_id()  : int
Returns the unique ID for this object.
get_instance_id()  : string
Get instance ID.
get_meta()  : mixed
Get Meta Data by Key.
get_meta_data()  : array
Get All Meta Data.
get_method_id()  : string
Get method ID.
get_method_title()  : string
Get title.
get_name()  : string
Get order item name.
get_object_read()  : bool
Get object read property.
get_order()  : WC_Order
Get parent order object.
get_order_id()  : int
Get order ID this meta belongs to.
get_quantity()  : int
Get quantity.
get_tax_class()  : string
Get tax class.
get_tax_status()  : string
Get tax status.
get_taxes()  : array
Get taxes.
get_total()  : string
Get total cost.
get_total_tax()  : string
Get total tax.
get_type()  : string
Get order item type.
is_type()  : bool
Type checking.
meta_exists()  : bool
See if meta data exists, since get_meta always returns a '' or array().
offsetExists()  : bool
Offset exists: for ArrayAccess.
offsetGet()  : mixed
Offset get: for ArrayAccess/Backwards compatibility.
offsetSet()  : mixed
Offset set: for ArrayAccess/Backwards compatibility.
offsetUnset()  : mixed
OffsetUnset for ArrayAccess.
read_meta_data()  : mixed
Read Meta Data from the database. Ignore any internal properties.
save()  : int
Save should create or update based on object existence.
save_meta_data()  : mixed
Update Meta Data in the database.
set_defaults()  : mixed
Set all props to default values.
set_id()  : mixed
Set ID.
set_instance_id()  : mixed
Set shipping instance id.
set_meta_data()  : mixed
Set all meta data from array.
set_method_id()  : mixed
Set shipping method id.
set_method_title()  : mixed
Set method title.
set_name()  : mixed
Set order item name.
set_object_read()  : mixed
Set object read property.
set_order_id()  : mixed
Set order ID.
set_props()  : bool|WP_Error
Set a collection of props in one go, collect any errors, and return the result.
set_shipping_rate()  : mixed
Set properties based on passed in shipping rate object.
set_taxes()  : mixed
Set taxes.
set_total()  : mixed
Set total.
update_meta_data()  : mixed
Update meta data by key or ID, if provided.
error()  : mixed
When invalid data is found, throw an exception unless reading from the DB.
filter_null_meta()  : bool
Filter null meta values from array.
get_hook_prefix()  : string
Prefix for action and filter hooks on data.
get_prop()  : mixed
Gets a prop for a getter method.
is_internal_meta_key()  : bool
Check if the key is an internal one.
maybe_read_meta_data()  : mixed
Read meta data if null.
set_date_prop()  : mixed
Sets a date prop whilst handling formatting and datetime objects.
set_prop()  : mixed
Sets a prop for a setter method.
set_total_tax()  : mixed
Set total tax.

Properties

$extra_data

Order Data array. This is the core order data exposed in APIs since 3.0.0.

protected array $extra_data = array('method_title' => '', 'method_id' => '', 'instance_id' => '', 'total' => 0, 'total_tax' => 0, 'taxes' => array('total' => array()))
Tags
since
3.0.0

$meta_type

Meta type. This should match up with the types available at https://developer.wordpress.org/reference/functions/add_metadata/.

protected string $meta_type = 'order_item'

WP defines 'post', 'user', 'comment', and 'term'.

Methods

__construct()

Default constructor.

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

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

Return values
mixed

add_meta_data()

Add meta data.

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

Meta key.

$value : string|array

Meta value.

$unique : bool = false

Should this be a unique key?.

Tags
since
2.6.0
Return values
mixed

calculate_taxes()

Calculate item taxes.

public calculate_taxes([array $calculate_tax_for = array() ]) : bool
Parameters
$calculate_tax_for : array = array()

Location data to get taxes for. Required.

Tags
since
3.2.0
Return values
boolTrue if taxes were calculated.

delete()

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

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

Should the date be deleted permanently.

Tags
since
2.6.0
Return values
boolresult

delete_meta_data()

Delete meta data.

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

Meta key.

Tags
since
2.6.0
Return values
mixed

delete_meta_data_by_mid()

Delete meta data.

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

Meta ID.

Tags
since
2.6.0
Return values
mixed

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
3.0.0
Return values
array

get_formatted_meta_data()

Expands things like term slugs before return.

public get_formatted_meta_data([string $hideprefix = '_' ][, bool $include_all = false ]) : array
Parameters
$hideprefix : string = '_'

Meta data prefix, (default: _).

$include_all : bool = false

Include all meta data, this stop skip items with values already in the product name.

Return values
array

get_instance_id()

Get instance ID.

public get_instance_id([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

get_meta()

Get Meta Data by Key.

public get_meta([string $key = '' ][, bool $single = true ][, string $context = '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
2.6.0
Return values
mixed

get_method_id()

Get method ID.

public get_method_id([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

get_method_title()

Get title.

public get_method_title([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

get_name()

Get order item name.

public get_name([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

get_order_id()

Get order ID this meta belongs to.

public get_order_id([string $context = 'view' ]) : int
Parameters
$context : string = 'view'

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

Return values
int

get_tax_class()

Get tax class.

public get_tax_class([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

get_taxes()

Get taxes.

public get_taxes([string $context = 'view' ]) : array
Parameters
$context : string = 'view'

View or edit context.

Return values
array

get_total()

Get total cost.

public get_total([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

get_total_tax()

Get total tax.

public get_total_tax([string $context = 'view' ]) : string
Parameters
$context : string = 'view'

View or edit context.

Return values
string

is_type()

Type checking.

public is_type(string|array $type) : bool
Parameters
$type : string|array

Type.

Return values
bool

meta_exists()

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

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

Meta Key.

Tags
since
3.0.0
Return values
bool

offsetGet()

Offset get: for ArrayAccess/Backwards compatibility.

public offsetGet(string $offset) : mixed
Parameters
$offset : string

Key.

Return values
mixed

offsetSet()

Offset set: for ArrayAccess/Backwards compatibility.

public offsetSet(string $offset, mixed $value) : mixed
Parameters
$offset : string

Key.

$value : mixed

Value to set.

Tags
deprecated
4.4.0
Return values
mixed

offsetUnset()

OffsetUnset for ArrayAccess.

public offsetUnset(string $offset) : mixed
Parameters
$offset : string

Offset.

Return values
mixed

read_meta_data()

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

public read_meta_data([bool $force_read = 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
2.6.0
Return values
mixed

set_meta_data()

Set all meta data from array.

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

Key/Value pairs.

Tags
since
2.6.0
Return values
mixed

set_object_read()

Set object read property.

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

Should read?.

Tags
since
3.0.0
Return values
mixed

set_order_id()

Set order ID.

public set_order_id(int $value) : mixed
Parameters
$value : int

Order ID.

Return values
mixed

set_props()

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

public set_props(array $props[, string $context = '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
3.0.0
Return values
bool|WP_Error

set_taxes()

Set taxes.

public set_taxes(array $raw_tax_data) : mixed

This is an array of tax ID keys with total amount values.

Parameters
$raw_tax_data : array

Value to set.

Tags
throws
WC_Data_Exception

May throw exception if data is invalid.

Return values
mixed

update_meta_data()

Update meta data by key or ID, if provided.

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

Meta key.

$value : string|array

Meta value.

$meta_id : int

Meta ID.

Tags
since
2.6.0
Return values
mixed

error()

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

protected error(string $code, string $message[, int $http_status_code = 400 ][, array $data = 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
WC_Data_Exception

Data Exception.

since
3.0.0
Return values
mixed

filter_null_meta()

Filter null meta values from array.

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

Meta value to check.

Tags
since
3.0.0
Return values
bool

get_prop()

Gets a prop for a getter method.

protected get_prop(string $prop[, string $context = '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
3.0.0
Return values
mixed

is_internal_meta_key()

Check if the key is an internal one.

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

Key to check.

Tags
since
3.2.0
Return values
booltrue if it's an internal key, false otherwise

set_date_prop()

Sets a date prop whilst handling formatting and datetime objects.

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

Name of prop to set.

$value : string|int

Value of the prop.

Tags
since
3.0.0
Return values
mixed

set_prop()

Sets a prop for a setter method.

protected set_prop(string $prop, mixed $value) : 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
3.0.0
Return values
mixed