WC_REST_Shipping_Zone_Methods_V2_Controller::register_routes()publicWC 1.0

Register the routes for Shipping Zone Methods.

Метод класса: WC_REST_Shipping_Zone_Methods_V2_Controller{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$WC_REST_Shipping_Zone_Methods_V2_Controller = new WC_REST_Shipping_Zone_Methods_V2_Controller();
$WC_REST_Shipping_Zone_Methods_V2_Controller->register_routes();

Код WC_REST_Shipping_Zone_Methods_V2_Controller::register_routes() WC 9.3.3

public function register_routes() {
	register_rest_route(
		$this->namespace, '/' . $this->rest_base . '/(?P<zone_id>[\d]+)/methods', array(
			'args'   => array(
				'zone_id' => array(
					'description' => __( 'Unique ID for the zone.', 'woocommerce' ),
					'type'        => 'integer',
				),
			),
			array(
				'methods'             => WP_REST_Server::READABLE,
				'callback'            => array( $this, 'get_items' ),
				'permission_callback' => array( $this, 'get_items_permissions_check' ),
			),
			array(
				'methods'             => WP_REST_Server::CREATABLE,
				'callback'            => array( $this, 'create_item' ),
				'permission_callback' => array( $this, 'create_item_permissions_check' ),
				'args'                => array_merge(
					$this->get_endpoint_args_for_item_schema( WP_REST_Server::CREATABLE ), array(
						'method_id' => array(
							'required'    => true,
							'readonly'    => false,
							'description' => __( 'Shipping method ID.', 'woocommerce' ),
						),
					)
				),
			),
			'schema' => array( $this, 'get_public_item_schema' ),
		)
	);

	register_rest_route(
		$this->namespace, '/' . $this->rest_base . '/(?P<zone_id>[\d]+)/methods/(?P<instance_id>[\d]+)', array(
			'args'   => array(
				'zone_id'     => array(
					'description' => __( 'Unique ID for the zone.', 'woocommerce' ),
					'type'        => 'integer',
				),
				'instance_id' => array(
					'description' => __( 'Unique ID for the instance.', 'woocommerce' ),
					'type'        => 'integer',
				),
			),
			array(
				'methods'             => WP_REST_Server::READABLE,
				'callback'            => array( $this, 'get_item' ),
				'permission_callback' => array( $this, 'get_items_permissions_check' ),
			),
			array(
				'methods'             => WP_REST_Server::EDITABLE,
				'callback'            => array( $this, 'update_item' ),
				'permission_callback' => array( $this, 'update_items_permissions_check' ),
				'args'                => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ),
			),
			array(
				'methods'             => WP_REST_Server::DELETABLE,
				'callback'            => array( $this, 'delete_item' ),
				'permission_callback' => array( $this, 'delete_items_permissions_check' ),
				'args'                => array(
					'force' => array(
						'default'     => false,
						'type'        => 'boolean',
						'description' => __( 'Whether to bypass trash and force deletion.', 'woocommerce' ),
					),
				),
			),
			'schema' => array( $this, 'get_public_item_schema' ),
		)
	);
}