namespace . '/' . $this->version; } /** * Register REST API routes. * * @return void * @since 0.0.1 */ public function register_routes() { $endpoints = $this->get_endpoints(); foreach ( $endpoints as $endpoint => $args ) { if ( ! is_array( $args ) ) { continue; } register_rest_route( $this->get_namespace(), $endpoint, $args ); } } /** * Get REST API endpoints. * * @return array * @since 0.0.1 */ private function get_endpoints() { $campaigns_api = new Campaigns_API(); $donations_api = new Donations_API(); $donors_api = new Donors_API(); $dashboard_api = new Dashboard_API(); $forms_api = new Forms_API(); $settings_api = new Settings_API(); $import_givewp_api = Import_Givewp_API::get_instance(); $onboarding_api = new Onboarding_API(); // Merge endpoints from all APIs. $endpoints = array_merge( $campaigns_api->get_endpoints(), $donations_api->get_endpoints(), $donors_api->get_endpoints(), $dashboard_api->get_endpoints(), $forms_api->get_endpoints(), $settings_api->get_endpoints(), $import_givewp_api->get_endpoints(), $onboarding_api->get_endpoints() ); /** * Filter REST API endpoints. * * @param array $endpoints Array of REST API endpoints. */ return apply_filters( 'suredonation_rest_api_endpoints', $endpoints ); } }