WooCommerce Code Reference

WC_REST_Product_Categories_V1_Controller extends WC_REST_Terms_Controller
in package

REST API Product Categories controller class.

Tags
extends

WC_REST_Terms_Controller

Table of Contents

$namespace  : string
Endpoint namespace.
$rest_base  : string
Route base.
$taxonomies_by_id  : array<string|int, mixed>
Cached taxonomies by attribute id.
$taxonomy  : string
Taxonomy.
$_fields  : null|array<string|int, mixed>
Used to cache computed return fields.
$_request  : null|WP_REST_Request
Used to verify if cached fields are for correct request object.
batch_items()  : array<string|int, mixed>
Bulk create, update and delete items.
batch_items_permissions_check()  : bool|WP_Error
Check if a given request has access batch create, update and delete items.
create_item()  : WP_REST_Request|WP_Error
Create a single term for a taxonomy.
create_item_permissions_check()  : WP_Error|bool
Check if a given request has access to create a term.
delete_item()  : WP_REST_Response|WP_Error
Delete a single term from a taxonomy.
delete_item_permissions_check()  : WP_Error|bool
Check if a given request has access to delete a term.
get_collection_params()  : array<string|int, mixed>
Get the query params for collections
get_endpoint_args_for_item_schema()  : array<string|int, mixed>
Compatibility functions for WP 5.5, since custom types are not supported anymore.
get_fields_for_response()  : array<string|int, mixed>
Gets an array of fields to be included on the response.
get_item()  : WP_REST_Request|WP_Error
Get a single term from a taxonomy.
get_item_permissions_check()  : WP_Error|bool
Check if a given request has access to read a term.
get_item_schema()  : array<string|int, mixed>
Get the Category schema, conforming to JSON Schema.
get_items()  : WP_REST_Response|WP_Error
Get terms associated with a taxonomy.
get_items_permissions_check()  : WP_Error|bool
Check if a given request has access to read the terms.
get_public_batch_schema()  : array<string|int, mixed>
Get the batch schema, conforming to JSON Schema.
prepare_item_for_response()  : WP_REST_Response
Prepare a single product category output for response.
register_routes()  : mixed
Register the routes for terms.
update_item()  : WP_REST_Request|WP_Error
Update a single term from a taxonomy.
update_item_permissions_check()  : WP_Error|bool
Check if a given request has access to update a term.
validate_setting_checkbox_field()  : string|WP_Error
Validate checkbox based settings.
validate_setting_image_width_field()  : string|WP_Error
Validate image_width based settings.
validate_setting_multiselect_field()  : array<string|int, mixed>|WP_Error
Validate multiselect based settings.
validate_setting_radio_field()  : string|WP_Error
Validate radio based settings.
validate_setting_select_field()  : string|WP_Error
Validate select based settings.
validate_setting_text_field()  : string
Validate a text value for a text based setting.
validate_setting_textarea_field()  : string
Validate textarea based settings.
add_additional_fields_schema()  : array<string|int, mixed>
Add the schema from additional fields to an schema array.
add_meta_query()  : array<string|int, mixed>
Add meta query.
adjust_wp_5_5_datatype_compatibility()  : mixed
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.
check_batch_limit()  : bool|WP_Error
Check batch limit.
check_permissions()  : bool|WP_Error
Check permissions.
compare_terms()  : int
Comparison function for sorting terms by a column.
get_meta_data_for_response()  : array<string|int, mixed>
Limit the contents of the meta_data property based on certain request parameters.
get_normalized_rest_base()  : string
Get normalized rest base.
get_taxonomy()  : int|WP_Error
Get taxonomy.
get_terms_for_product()  : array<string|int, mixed>
Get the terms attached to a product.
prepare_links()  : array<string|int, mixed>
Prepare links for the request.
update_term_meta_fields()  : bool|WP_Error
Update term meta fields.

Properties

Methods

batch_items()

Bulk create, update and delete items.

public batch_items(WP_REST_Request $request) : array<string|int, mixed>
Parameters
$request : WP_REST_Request

Full details about the request.

Return values
array<string|int, mixed>Of WP_Error or WP_REST_Response.

batch_items_permissions_check()

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

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

Full details about the request.

Return values
bool|WP_Error

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([string $method = WP_REST_Server::CREATABLE ]) : array<string|int, mixed>

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<string|int, mixed>Endpoint arguments.

get_fields_for_response()

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

public get_fields_for_response(WP_REST_Request $request) : array<string|int, mixed>

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
3.5.0
Return values
array<string|int, mixed>Fields to be included in the response.

validate_setting_checkbox_field()

Validate checkbox based settings.

public validate_setting_checkbox_field(string $value, array<string|int, mixed> $setting) : string|WP_Error
Parameters
$value : string

Value.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
Return values
string|WP_Error

validate_setting_image_width_field()

Validate image_width based settings.

public validate_setting_image_width_field(array<string|int, mixed> $values, array<string|int, mixed> $setting) : string|WP_Error
Parameters
$values : array<string|int, mixed>

Values.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
Return values
string|WP_Error

validate_setting_multiselect_field()

Validate multiselect based settings.

public validate_setting_multiselect_field(array<string|int, mixed> $values, array<string|int, mixed> $setting) : array<string|int, mixed>|WP_Error
Parameters
$values : array<string|int, mixed>

Values.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
Return values
array<string|int, mixed>|WP_Error

validate_setting_radio_field()

Validate radio based settings.

public validate_setting_radio_field(string $value, array<string|int, mixed> $setting) : string|WP_Error
Parameters
$value : string

Value.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
Return values
string|WP_Error

validate_setting_select_field()

Validate select based settings.

public validate_setting_select_field(string $value, array<string|int, mixed> $setting) : string|WP_Error
Parameters
$value : string

Value.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
Return values
string|WP_Error

validate_setting_text_field()

Validate a text value for a text based setting.

public validate_setting_text_field(string $value, array<string|int, mixed> $setting) : string
Parameters
$value : string

Value.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
Return values
string

validate_setting_textarea_field()

Validate textarea based settings.

public validate_setting_textarea_field(string $value, array<string|int, mixed> $setting) : string
Parameters
$value : string

Value.

$setting : array<string|int, mixed>

Setting.

Tags
since
3.0.0
since
9.0.0

No longer allows storing IFRAME, which was allowed for "ShareThis" integration no longer found in core.

Return values
string

add_additional_fields_schema()

Add the schema from additional fields to an schema array.

protected add_additional_fields_schema(array<string|int, mixed> $schema) : array<string|int, mixed>

The type of object is inferred from the passed schema.

Parameters
$schema : array<string|int, mixed>

Schema array.

Return values
array<string|int, mixed>

add_meta_query()

Add meta query.

protected add_meta_query(array<string|int, mixed> $args, array<string|int, mixed> $meta_query) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>

Query args.

$meta_query : array<string|int, mixed>

Meta query.

Tags
since
3.0.0
Return values
array<string|int, mixed>

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(array<string|int, mixed> $endpoint_args) : 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<string|int, mixed>

Schema with datatypes to convert.

Return values
mixedSchema with converted datatype.

check_permissions()

Check permissions.

protected check_permissions(WP_REST_Request $request[, string $context = 'read' ]) : bool|WP_Error
Parameters
$request : WP_REST_Request

Full details about the request.

$context : string = 'read'

Request context.

Return values
bool|WP_Error

compare_terms()

Comparison function for sorting terms by a column.

protected compare_terms(stdClass $left, stdClass $right) : int

Uses $this->sort_column to determine field to sort by.

Parameters
$left : stdClass

Term object.

$right : stdClass

Term object.

Return values
int0 if right is higher "priority" than left.

get_meta_data_for_response()

Limit the contents of the meta_data property based on certain request parameters.

protected get_meta_data_for_response(WP_REST_Request $request, array<string|int, mixed> $meta_data) : array<string|int, mixed>

Note that if both include_meta and exclude_meta are present in the request, include_meta will take precedence.

Parameters
$request : WP_REST_Request

The request.

$meta_data : array<string|int, mixed>

All of the meta data for an object.

Return values
array<string|int, mixed>

get_terms_for_product()

Get the terms attached to a product.

protected get_terms_for_product(array<string|int, mixed> $prepared_args, WP_REST_Request $request) : array<string|int, mixed>

This is an alternative to get_terms() that uses get_the_terms() instead, which hits the object cache. There are a few things not supported, notably include, exclude. In self::get_items() these are instead treated as a full query.

Parameters
$prepared_args : array<string|int, mixed>

Arguments for get_terms().

$request : WP_REST_Request

Full details about the request.

Return values
array<string|int, mixed>List of term objects. (Total count in `$this->total_terms`).

Prepare links for the request.

protected prepare_links(object $term, WP_REST_Request $request) : array<string|int, mixed>
Parameters
$term : object

Term object.

$request : WP_REST_Request

Full details about the request.

Return values
array<string|int, mixed>Links for the given term.