WooCommerce Code Reference

Search results

WC_REST_Products_V1_Controller extends WC_REST_Posts_Controller

REST API Products controller class.

Table of Contents

$namespace Endpoint namespace. string
$rest_base Route base. string
$post_type Post type. string
$namespace Endpoint namespace. string
$rest_base Route base. string
$post_type Post type. string
$public Controls visibility on frontend. string
__construct() Initialize product actions. mixed
register_routes() Register the routes for products. mixed
get_post_types() Get post types. array
query_args() Query args. array
get_downloads() Get the downloads for a product or product variation. array
get_taxonomy_terms() Get taxonomy terms. array
get_images() Get the images for a product or product variation. array
get_attribute_taxonomy_label() Get attribute taxonomy label. string
get_default_attributes() Get default attributes. array
get_attribute_options() Get attribute options. array
get_attributes() Get the attributes for a product or product variation. array
get_product_menu_order() Get product menu order. int
get_product_data() Get product data. array
get_variation_data() Get an individual variation's data. array
prepare_item_for_response() Prepare a single product output for response. WP_REST_Response
prepare_links() Prepare links for the request. array
prepare_item_for_database() Prepare a single product for create or update. WP_Error|stdClass
create_item() Create a single product. WP_Error|WP_REST_Response
update_item() Update a single product. WP_Error|WP_REST_Response
save_product() Saves a product to the database. int
save_product_images() Save product images. mixed
set_product_images() Set product images. WC_Product
save_product_shipping_data() Save product shipping data. WC_Product
save_downloadable_files() Save downloadable files. WC_Product
save_taxonomy_terms() Save taxonomy terms. WC_Product
save_default_attributes() Save default attributes. WC_Product
save_product_meta() Save product meta. bool
set_product_meta() Set product meta. WC_Product
save_variations_data() Save variations. bool
add_post_meta_fields() Add post meta fields. bool|WP_Error
update_post_meta_fields() Update post meta fields. bool|WP_Error
clear_transients() Clear cache/transients. mixed
delete_post() Delete post. mixed
delete_item() Delete a single item. WP_REST_Response|WP_Error
get_item_schema() Get the Product's schema, conforming to JSON Schema. array
get_collection_params() Get the query params for collections of attachments. array
get_items_permissions_check() Check if a given request has access to read items. WP_Error|bool
create_item_permissions_check() Check if a given request has access to create an item. WP_Error|bool
get_item_permissions_check() Check if a given request has access to read an item. WP_Error|bool
update_item_permissions_check() Check if a given request has access to update an item. WP_Error|bool
delete_item_permissions_check() Check if a given request has access to delete an item. bool|WP_Error
batch_items_permissions_check() Check if a given request has access batch create, update and delete items. bool|WP_Error
get_item() Get a single item. WP_Error|WP_REST_Response
create_item() Create a single item. WP_Error|WP_REST_Response
add_post_meta_fields() Add post meta fields. bool|WP_Error
delete_post() Delete post. mixed
update_item() Update a single post. WP_Error|WP_REST_Response
get_items() Get a collection of posts. WP_Error|WP_REST_Response
delete_item() Delete a single item. WP_REST_Response|WP_Error
prepare_links() Prepare links for the request. array
prepare_items_query() Determine the allowed query_vars for a get_items() response and prepare for WP_Query. array
get_allowed_query_vars() Get all the WP Query vars that are allowed for the API request. array
get_collection_params() Get the query params for collections of attachments. array
update_post_meta_fields() Update post meta fields. bool|WP_Error
add_additional_fields_schema() Add the schema from additional fields to an schema array. array
get_endpoint_args_for_item_schema() Compatibility functions for WP 5.5, since custom types are not supported anymore. array
adjust_wp_5_5_datatype_compatibility() Change datatypes `date-time` to string, and `mixed` to composite of all built in types. This is required for maintaining forward compatibility with WP 5.5 since custom post types are not supported anymore. mixed
get_normalized_rest_base() Get normalized rest base. string
check_batch_limit() Check batch limit. bool|WP_Error
batch_items() Bulk create, update and delete items. array
validate_setting_text_field() Validate a text value for a text based setting. string
validate_setting_select_field() Validate select based settings. string|WP_Error
validate_setting_multiselect_field() Validate multiselect based settings. array|WP_Error
validate_setting_image_width_field() Validate image_width based settings. string|WP_Error
validate_setting_radio_field() Validate radio based settings. string|WP_Error
validate_setting_checkbox_field() Validate checkbox based settings. string|WP_Error
validate_setting_textarea_field() Validate textarea based settings. string
add_meta_query() Add meta query. array
get_public_batch_schema() Get the batch schema, conforming to JSON Schema. array
get_fields_for_response() Gets an array of fields to be included on the response. array

Properties

Methods

query_args()

Query args.

public query_args( $args : array , $request : WP_REST_Request ) : array
Parameters
$args : array

Request args.

$request : WP_REST_Request

Request data.

Return values
array

get_attribute_taxonomy_label()

Get attribute taxonomy label.

protected get_attribute_taxonomy_label( $name : string ) : string
Parameters
$name : string

Taxonomy name.

Return values
string

get_attribute_options()

Get attribute options.

protected get_attribute_options( $product_id : int , $attribute : array ) : array
Parameters
$product_id : int

Product ID.

$attribute : array

Attribute data.

Return values
array

prepare_item_for_response()

Prepare a single product output for response.

public prepare_item_for_response( $post : WP_Post , $request : WP_REST_Request ) : WP_REST_Response
Parameters
$post : WP_Post

Post object.

$request : WP_REST_Request

Request object.

Return values
WP_REST_Response

prepare_links()

Prepare links for the request.

protected prepare_links( $product : WC_Product , $request : WP_REST_Request ) : array
Parameters
$product : WC_Product

Product object.

$request : WP_REST_Request

Request object.

Return values
array

Links for the given product.

prepare_item_for_database()

Prepare a single product for create or update.

protected prepare_item_for_database( $request : WP_REST_Request ) : WP_Error|stdClass
Parameters
$request : WP_REST_Request

Request object.

Return values
WP_Error|stdClass

$data Post object.

create_item()

Create a single product.

public create_item( $request : WP_REST_Request ) : WP_Error|WP_REST_Response
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|WP_REST_Response

update_item()

Update a single product.

public update_item( $request : WP_REST_Request ) : WP_Error|WP_REST_Response
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|WP_REST_Response

save_product()

Saves a product to the database.

public save_product( $request : WP_REST_Request ) : int
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
int

save_product_images()

Save product images.

protected save_product_images( $product_id : int , $images : array ) : mixed
Parameters
$product_id : int
$images : array
Tags
deprecated
throws
Return values
mixed

save_variations_data()

Save variations.

protected save_variations_data( $product : WC_Product , $request : WP_REST_Request ) : bool
Parameters
$product : WC_Product

Product instance.

$request : WP_REST_Request

Request data.

Tags
throws

REST API exceptions.

Return values
bool

add_post_meta_fields()

Add post meta fields.

protected add_post_meta_fields( $post : WP_Post , $request : WP_REST_Request ) : bool|WP_Error
Parameters
$post : WP_Post

Post data.

$request : WP_REST_Request

Request data.

Return values
bool|WP_Error

update_post_meta_fields()

Update post meta fields.

protected update_post_meta_fields( $post : WP_Post , $request : WP_REST_Request ) : bool|WP_Error
Parameters
$post : WP_Post

Post data.

$request : WP_REST_Request

Request data.

Return values
bool|WP_Error

clear_transients()

Clear cache/transients.

public clear_transients( $post : WP_Post ) : mixed
Parameters
$post : WP_Post

Post data.

Return values
mixed

delete_post()

Delete post.

protected delete_post( $id : int|WP_Post ) : mixed
Parameters
$id : int|WP_Post

Post ID or WP_Post instance.

Return values
mixed

delete_item()

Delete a single item.

public delete_item( $request : WP_REST_Request ) : WP_REST_Response|WP_Error
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_REST_Response|WP_Error

get_items_permissions_check()

Check if a given request has access to read items.

public get_items_permissions_check( $request : WP_REST_Request ) : WP_Error|bool
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|bool

create_item_permissions_check()

Check if a given request has access to create an item.

public create_item_permissions_check( $request : WP_REST_Request ) : WP_Error|bool
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|bool

get_item_permissions_check()

Check if a given request has access to read an item.

public get_item_permissions_check( $request : WP_REST_Request ) : WP_Error|bool
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|bool

update_item_permissions_check()

Check if a given request has access to update an item.

public update_item_permissions_check( $request : WP_REST_Request ) : WP_Error|bool
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|bool

delete_item_permissions_check()

Check if a given request has access to delete an item.

public delete_item_permissions_check( $request : WP_REST_Request ) : bool|WP_Error
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
bool|WP_Error

batch_items_permissions_check()

Check if a given request has access batch create, update and delete items.

public batch_items_permissions_check( $request : WP_REST_Request ) : bool|WP_Error
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
bool|WP_Error

get_item()

Get a single item.

public get_item( $request : WP_REST_Request ) : WP_Error|WP_REST_Response
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|WP_REST_Response

create_item()

Create a single item.

public create_item( $request : WP_REST_Request ) : WP_Error|WP_REST_Response
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|WP_REST_Response

add_post_meta_fields()

Add post meta fields.

protected add_post_meta_fields( $post : WP_Post , $request : WP_REST_Request ) : bool|WP_Error
Parameters
$post : WP_Post

Post Object.

$request : WP_REST_Request

WP_REST_Request Object.

Return values
bool|WP_Error

delete_post()

Delete post.

protected delete_post( $post : WP_Post ) : mixed
Parameters
$post : WP_Post

Post object.

Return values
mixed

update_item()

Update a single post.

public update_item( $request : WP_REST_Request ) : WP_Error|WP_REST_Response
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|WP_REST_Response

get_items()

Get a collection of posts.

public get_items( $request : WP_REST_Request ) : WP_Error|WP_REST_Response
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_Error|WP_REST_Response

delete_item()

Delete a single item.

public delete_item( $request : WP_REST_Request ) : WP_REST_Response|WP_Error
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
WP_REST_Response|WP_Error

prepare_links()

Prepare links for the request.

protected prepare_links( $post : WP_Post , $request : WP_REST_Request ) : array
Parameters
$post : WP_Post

Post object.

$request : WP_REST_Request

Request object.

Return values
array

Links for the given post.

prepare_items_query()

Determine the allowed query_vars for a get_items() response and prepare for WP_Query.

protected prepare_items_query( [ $prepared_args : array = array() ] [, $request : WP_REST_Request = null ] ) : array
Parameters
$prepared_args : array = array()

Prepared arguments.

$request : WP_REST_Request = null

Request object.

Return values
array

$query_args

get_allowed_query_vars()

Get all the WP Query vars that are allowed for the API request.

protected get_allowed_query_vars( ) : array
Return values
array

get_collection_params()

Get the query params for collections of attachments.

public get_collection_params( ) : array
Return values
array

update_post_meta_fields()

Update post meta fields.

protected update_post_meta_fields( $post : WP_Post , $request : WP_REST_Request ) : bool|WP_Error
Parameters
$post : WP_Post

Post object.

$request : WP_REST_Request

Request object.

Return values
bool|WP_Error

add_additional_fields_schema()

Add the schema from additional fields to an schema array.

protected add_additional_fields_schema( $schema : array ) : array

The type of object is inferred from the passed schema.

Parameters
$schema : array

Schema array.

Return values
array

get_endpoint_args_for_item_schema()

Compatibility functions for WP 5.5, since custom types are not supported anymore.

public get_endpoint_args_for_item_schema( [ $method : string = WP_REST_Server::CREATABLE ] ) : array

See @link https://core.trac.wordpress.org/changeset/48306

Parameters
$method : string = WP_REST_Server::CREATABLE

Optional. HTTP method of the request.

Return values
array

Endpoint arguments.

adjust_wp_5_5_datatype_compatibility()

Change datatypes `date-time` to string, and `mixed` to composite of all built in types. This is required for maintaining forward compatibility with WP 5.5 since custom post types are not supported anymore.

protected adjust_wp_5_5_datatype_compatibility( $endpoint_args : array ) : mixed

See @link https://core.trac.wordpress.org/changeset/48306

We still use the 'mixed' type, since if we convert to composite type everywhere, it won't work in 5.4 anymore because they require to define the full schema.

Parameters
$endpoint_args : array

Schema with datatypes to convert.

Return values
mixed

Schema with converted datatype.

get_normalized_rest_base()

Get normalized rest base.

protected get_normalized_rest_base( ) : string
Return values
string

check_batch_limit()

Check batch limit.

protected check_batch_limit( $items : array ) : bool|WP_Error
Parameters
$items : array

Request items.

Return values
bool|WP_Error

batch_items()

Bulk create, update and delete items.

public batch_items( $request : WP_REST_Request ) : array
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
array

Of WP_Error or WP_REST_Response.

validate_setting_text_field()

Validate a text value for a text based setting.

public validate_setting_text_field( $value : string , $setting : array ) : string
Parameters
$value : string

Value.

$setting : array

Setting.

Tags
since
Return values
string

validate_setting_select_field()

Validate select based settings.

public validate_setting_select_field( $value : string , $setting : array ) : string|WP_Error
Parameters
$value : string

Value.

$setting : array

Setting.

Tags
since
Return values
string|WP_Error

validate_setting_multiselect_field()

Validate multiselect based settings.

public validate_setting_multiselect_field( $values : array , $setting : array ) : array|WP_Error
Parameters
$values : array

Values.

$setting : array

Setting.

Tags
since
Return values
array|WP_Error

validate_setting_image_width_field()

Validate image_width based settings.

public validate_setting_image_width_field( $values : array , $setting : array ) : string|WP_Error
Parameters
$values : array

Values.

$setting : array

Setting.

Tags
since
Return values
string|WP_Error

validate_setting_radio_field()

Validate radio based settings.

public validate_setting_radio_field( $value : string , $setting : array ) : string|WP_Error
Parameters
$value : string

Value.

$setting : array

Setting.

Tags
since
Return values
string|WP_Error

validate_setting_checkbox_field()

Validate checkbox based settings.

public validate_setting_checkbox_field( $value : string , $setting : array ) : string|WP_Error
Parameters
$value : string

Value.

$setting : array

Setting.

Tags
since
Return values
string|WP_Error

validate_setting_textarea_field()

Validate textarea based settings.

public validate_setting_textarea_field( $value : string , $setting : array ) : string
Parameters
$value : string

Value.

$setting : array

Setting.

Tags
since
Return values
string

add_meta_query()

Add meta query.

protected add_meta_query( $args : array , $meta_query : array ) : array
Parameters
$args : array

Query args.

$meta_query : array

Meta query.

Tags
since
Return values
array

get_public_batch_schema()

Get the batch schema, conforming to JSON Schema.

public get_public_batch_schema( ) : array
Return values
array

get_fields_for_response()

Gets an array of fields to be included on the response.

public get_fields_for_response( $request : WP_REST_Request ) : array

Included fields are based on item schema and _fields= request argument. Updated from WordPress 5.3, included into this class to support old versions.

Parameters
$request : WP_REST_Request

Full details about the request.

Tags
since
Return values
array

Fields to be included in the response.

Back to the top