namespace = REST_API_NAMESPACE . static::VERSION; $this->rest_base = static::BASE_ROUTE; add_action( 'rest_api_init', [ $this, 'register_routes' ] ); } /** * Default permission callback for this controller's routes. * * @param WP_REST_Request $request Full data about the request. * * @return bool */ abstract public function permission_callback( WP_REST_Request $request ): bool; /** * Check if a given request has access to get items. * * @param WP_REST_Request $request Full data about the request. * * @return bool */ public function get_items_permissions_check( $request ): bool { return $this->permission_callback( $request ); } /** * Check if a given request has access to get a specific item. * * @param WP_REST_Request $request Full data about the request. * * @return bool */ public function get_item_permissions_check( $request ): bool { return $this->permission_callback( $request ); } /** * Check if a given request has access to create items. * * @param WP_REST_Request $request Full data about the request. * * @return bool */ public function create_item_permissions_check( $request ): bool { return $this->permission_callback( $request ); } /** * Check if a given request has access to update a specific item. * * @param WP_REST_Request $request Full data about the request. * * @return bool */ public function update_item_permissions_check( $request ): bool { return $this->permission_callback( $request ); } /** * Check if a given request has access to delete a specific item. * * @param WP_REST_Request $request Full data about the request. * * @return bool */ public function delete_item_permissions_check( $request ): bool { return $this->permission_callback( $request ); } }