AbstractRestOptionsController extends AbstractRestController
in package

Table of Contents

ENDPOINT_REPLACEMENT_RULES  = array()
$dbFormatKey => $endpointFormatKey
$namespace  : string
Endpoint namespace.
$options  : OptionsSchema
$rest_base  : string
Route base.
__construct()  : mixed
batch_items()  : array<string|int, mixed>
Bulk create, update and delete items.
get_endpoint_args_for_item_schema()  : array<string|int, mixed>
Compatibility functions for WP 5.5, since custom types are not supported anymore.
get_item()  : array<string|int, mixed>|WP_Error
Retrieves the options.
get_item_permissions_check()  : bool
Checks if a given request has access to read and manage settings.
get_item_schema()  : mixed
get_public_batch_schema()  : array<string|int, mixed>
Get the batch schema, conforming to JSON Schema.
register_routes()  : mixed
update_item()  : array<string|int, mixed>|WP_Error
Updates settings for the settings object.
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.
get_normalized_rest_base()  : string
Get normalized rest base.
initOptions()  : OptionsSchema
prepareRequestItem()  : mixed|null
prepareResponse()  : mixed
Preparing a value from the database for the response view.
prepareRequest()  : mixed
replaceAllOccurrencesKeysAndValues()  : mixed|null
Replace all array keys and values matching the replacement rules.

Constants

ENDPOINT_REPLACEMENT_RULES

$dbFormatKey => $endpointFormatKey

public mixed ENDPOINT_REPLACEMENT_RULES = array()

Properties

$namespace

Endpoint namespace.

protected string $namespace = 'mphb/v1'

$options

protected OptionsSchema $options

$rest_base

Route base.

protected string $rest_base = ''

Methods

__construct()

public __construct() : mixed
Return values
mixed

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.

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_item()

Retrieves the options.

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

Full details about the request.

Return values
array<string|int, mixed>|WP_Error

Array on success, or WP_Error object on failure.

get_item_permissions_check()

Checks if a given request has access to read and manage settings.

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

Full details about the request.

Return values
bool

True if the request has read access for the item, otherwise false.

get_item_schema()

public get_item_schema() : mixed
Return values
mixed

get_public_batch_schema()

Get the batch schema, conforming to JSON Schema.

public get_public_batch_schema() : array<string|int, mixed>
Return values
array<string|int, mixed>

register_routes()

public register_routes() : mixed
Return values
mixed

update_item()

Updates settings for the settings object.

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

Full details about the request.

Return values
array<string|int, mixed>|WP_Error

Array on success, or error object on failure.

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.

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.

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.

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.

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.

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.

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.

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.

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
mixed

Schema with converted datatype.

check_batch_limit()

Check batch limit.

protected check_batch_limit(array<string|int, mixed> $items) : bool|WP_Error
Parameters
$items : array<string|int, mixed>

Request items.

Return values
bool|WP_Error

get_normalized_rest_base()

Get normalized rest base.

protected get_normalized_rest_base() : string
Return values
string

initOptions()

protected abstract initOptions() : OptionsSchema
Return values
OptionsSchema

prepareRequestItem()

protected prepareRequestItem( $option,  $optionName) : mixed|null
Parameters
$option :
$optionName :
Tags
throws
Exception
Return values
mixed|null

prepareResponse()

Preparing a value from the database for the response view.

protected prepareResponse(mixed $option, mixed $optionName, mixed $schema) : mixed
  • Renaming according to the rules of renaming. (if renaming rules exist)
  • Reformatting the value if the prepareResponse {$ OptionName} () method exists in the endpoint class
  • Sanitize values according to the scheme (type conversion and removal of values missing in the scheme)
Parameters
$option : mixed
$optionName : mixed
$schema : mixed
Return values
mixed

prepareRequest()

private prepareRequest(WP_REST_Request $request) : mixed
Parameters
$request : WP_REST_Request
Return values
mixed

replaceAllOccurrencesKeysAndValues()

Replace all array keys and values matching the replacement rules.

private replaceAllOccurrencesKeysAndValues(array<string|int, mixed> $replaceableArray, array<string|int, mixed> $replacementRules) : mixed|null
Parameters
$replaceableArray : array<string|int, mixed>
$replacementRules : array<string|int, mixed>

[ $replaceKeyFrom => $replaceKeyTo ]

Return values
mixed|null

Search results