WC_CLI_REST_Command
in package
Main Command for WooCommerce CLI.
Since a lot of WC operations can be handled via the REST API, we base our CLI off of Restful to generate commands for each WooCommerce REST API endpoint so most of the logic is shared.
Forked from wp-cli/restful (by Daniel Bachhuber, released under the MIT license https://opensource.org/licenses/MIT). https://github.com/wp-cli/restful
Tags
Table of Contents
- $routes_with_parent_id : array<string|int, mixed>
- Endpoints that have a parent ID.
- $name : string
- Name of command/endpoint object.
- $resource_identifier : int
- Main resource ID.
- $route : string
- Endpoint route.
- $schema : array<string|int, mixed>
- Schema for command.
- $supported_ids : array<string|int, mixed>
- List of supported IDs and their description (name => desc).
- __construct() : mixed
- Sets up REST Command.
- create_item() : mixed
- Create a new item.
- delete_item() : mixed
- Delete an existing item.
- get_item() : mixed
- Get a single item.
- get_supported_ids() : array<string|int, mixed>
- Returns an ID of supported ID arguments (things like product_id, order_id, etc) that we should look for in addition to id.
- list_items() : mixed
- List all items.
- set_supported_ids() : mixed
- Passes supported ID arguments (things like product_id, order_id, etc) that we should look for in addition to id.
- update_item() : mixed
- Update an existing item.
- decode_json() : array<string|int, mixed>
- JSON can be passed in some more complicated objects, like the payment gateway settings array.
- get_formatter() : Formatter
- Get Formatter object based on supplied parameters.
- do_request() : array<string|int, mixed>
- Do a REST Request
- get_context_fields() : array<string|int, mixed>
- Get a list of fields present in a given context
- get_filled_route() : string
- Get the route for this resource
- limit_item_to_fields() : array<string|int, mixed>
- Reduce an item to specific fields.
Properties
$routes_with_parent_id
Endpoints that have a parent ID.
protected
array<string|int, mixed>
$routes_with_parent_id
= array('customer_download', 'product_review', 'order_note', 'shop_order_refund')
Ex: Product reviews, which has a product ID and a review ID.
$name
Name of command/endpoint object.
private
string
$name
$resource_identifier
Main resource ID.
private
int
$resource_identifier
$route
Endpoint route.
private
string
$route
$schema
Schema for command.
private
array<string|int, mixed>
$schema
$supported_ids
List of supported IDs and their description (name => desc).
private
array<string|int, mixed>
$supported_ids
= array()
Methods
__construct()
Sets up REST Command.
public
__construct(string $name, string $route, array<string|int, mixed> $schema) : mixed
Parameters
- $name : string
-
Name of endpoint object (comes from schema).
- $route : string
-
Path to route of this endpoint.
- $schema : array<string|int, mixed>
-
Schema object.
Return values
mixed —create_item()
Create a new item.
public
create_item(array<string|int, mixed> $args, array<string|int, mixed> $assoc_args) : mixed
Parameters
- $args : array<string|int, mixed>
-
WP-CLI positional arguments.
- $assoc_args : array<string|int, mixed>
-
WP-CLI associative arguments.
Tags
Return values
mixed —delete_item()
Delete an existing item.
public
delete_item(array<string|int, mixed> $args, array<string|int, mixed> $assoc_args) : mixed
Parameters
- $args : array<string|int, mixed>
-
WP-CLI positional arguments.
- $assoc_args : array<string|int, mixed>
-
WP-CLI associative arguments.
Tags
Return values
mixed —get_item()
Get a single item.
public
get_item(array<string|int, mixed> $args, array<string|int, mixed> $assoc_args) : mixed
Parameters
- $args : array<string|int, mixed>
-
WP-CLI positional arguments.
- $assoc_args : array<string|int, mixed>
-
WP-CLI associative arguments.
Tags
Return values
mixed —get_supported_ids()
Returns an ID of supported ID arguments (things like product_id, order_id, etc) that we should look for in addition to id.
public
get_supported_ids() : array<string|int, mixed>
Return values
array<string|int, mixed> —list_items()
List all items.
public
list_items(array<string|int, mixed> $args, array<string|int, mixed> $assoc_args) : mixed
Parameters
- $args : array<string|int, mixed>
-
WP-CLI positional arguments.
- $assoc_args : array<string|int, mixed>
-
WP-CLI associative arguments.
Tags
Return values
mixed —set_supported_ids()
Passes supported ID arguments (things like product_id, order_id, etc) that we should look for in addition to id.
public
set_supported_ids([array<string|int, mixed> $supported_ids = array() ]) : mixed
Parameters
- $supported_ids : array<string|int, mixed> = array()
-
List of supported IDs.
Return values
mixed —update_item()
Update an existing item.
public
update_item(array<string|int, mixed> $args, array<string|int, mixed> $assoc_args) : mixed
Parameters
- $args : array<string|int, mixed>
-
WP-CLI positional arguments.
- $assoc_args : array<string|int, mixed>
-
WP-CLI associative arguments.
Tags
Return values
mixed —decode_json()
JSON can be passed in some more complicated objects, like the payment gateway settings array.
protected
decode_json(array<string|int, mixed> $arr) : array<string|int, mixed>
This function decodes the json (if present) and tries to get it's value.
Parameters
- $arr : array<string|int, mixed>
-
Array that will be scanned for JSON encoded values.
Return values
array<string|int, mixed> —get_formatter()
Get Formatter object based on supplied parameters.
protected
get_formatter(array<string|int, mixed> &$assoc_args) : Formatter
Parameters
- $assoc_args : array<string|int, mixed>
-
Parameters passed to command. Determines formatting.
Return values
Formatter —do_request()
Do a REST Request
private
do_request(string $method, string $route, array<string|int, mixed> $assoc_args) : array<string|int, mixed>
Parameters
- $method : string
-
Request method. Examples: 'POST', 'PUT', 'DELETE' or 'GET'.
- $route : string
-
Resource route.
- $assoc_args : array<string|int, mixed>
-
Associative arguments passed to the originating WP-CLI command.
Return values
array<string|int, mixed> —get_context_fields()
Get a list of fields present in a given context
private
get_context_fields(string $context) : array<string|int, mixed>
Parameters
- $context : string
-
Scope under which the request is made. Determines fields present in response.
Return values
array<string|int, mixed> —get_filled_route()
Get the route for this resource
private
get_filled_route([array<string|int, mixed> $args = array() ]) : string
Parameters
- $args : array<string|int, mixed> = array()
-
Positional arguments passed to the originating WP-CLI command.
Return values
string —limit_item_to_fields()
Reduce an item to specific fields.
private
static limit_item_to_fields(array<string|int, mixed> $item, array<string|int, mixed> $fields) : array<string|int, mixed>
Parameters
- $item : array<string|int, mixed>
-
Item to reduce.
- $fields : array<string|int, mixed>
-
Fields to keep.