2016-02-17 19:29:09 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* REST API Products controller
|
|
|
|
*
|
|
|
|
* Handles requests to the /products endpoint.
|
|
|
|
*
|
|
|
|
* @author WooThemes
|
|
|
|
* @category API
|
|
|
|
* @package WooCommerce/API
|
|
|
|
* @since 2.6.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* REST API Products controller class.
|
|
|
|
*
|
|
|
|
* @package WooCommerce/API
|
2016-02-22 19:43:52 +00:00
|
|
|
* @extends WC_REST_Posts_Controller
|
2016-02-17 19:29:09 +00:00
|
|
|
*/
|
2016-02-22 19:43:52 +00:00
|
|
|
class WC_REST_Products_Controller extends WC_REST_Posts_Controller {
|
2016-02-17 19:29:09 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Route base.
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
2016-02-22 18:49:38 +00:00
|
|
|
protected $rest_base = 'products';
|
2016-02-17 19:29:09 +00:00
|
|
|
|
|
|
|
/**
|
2016-02-22 19:43:52 +00:00
|
|
|
* Post type.
|
2016-02-17 19:29:09 +00:00
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
2016-02-22 19:43:52 +00:00
|
|
|
protected $post_type = 'product';
|
2016-02-17 19:29:09 +00:00
|
|
|
|
|
|
|
/**
|
2016-02-23 18:34:42 +00:00
|
|
|
* Register the routes for products.
|
2016-02-17 19:29:09 +00:00
|
|
|
*/
|
|
|
|
public function register_routes() {
|
2016-02-23 18:34:42 +00:00
|
|
|
register_rest_route( WC_API::REST_API_NAMESPACE, '/' . $this->rest_base . '/(?P<id>[\d]+)', array(
|
|
|
|
array(
|
|
|
|
'methods' => WP_REST_Server::DELETABLE,
|
|
|
|
'callback' => array( $this, 'delete_item' ),
|
|
|
|
'permission_callback' => array( $this, 'delete_item_permissions_check' ),
|
|
|
|
'args' => array(
|
|
|
|
'force' => array(
|
|
|
|
'default' => false,
|
|
|
|
'description' => __( 'Whether to bypass trash and force deletion.', 'woocommerce' ),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
) );
|
2016-02-17 19:29:09 +00:00
|
|
|
}
|
|
|
|
}
|