Automattic\WooCommerce\Admin\API
Init::rest_api_init() │ public │ WC 1.0
Init REST API.
Method of the class: Init{}
Hooks from the method
Return
null
. Nothing (null).
Usage
$Init = new Init(); $Init->rest_api_init();
Init::rest_api_init() Init::rest api init code WC 9.7.1
public function rest_api_init() { $controllers = array(); $analytics_controllers = array(); if ( wc_rest_should_load_namespace( 'wc-admin' ) ) { // Controllers in the wc-admin namespace. $controllers = array( 'Automattic\WooCommerce\Admin\API\Notice', 'Automattic\WooCommerce\Admin\API\Features', 'Automattic\WooCommerce\Admin\API\Experiments', 'Automattic\WooCommerce\Admin\API\Marketing', 'Automattic\WooCommerce\Admin\API\MarketingOverview', 'Automattic\WooCommerce\Admin\API\MarketingRecommendations', 'Automattic\WooCommerce\Admin\API\MarketingChannels', 'Automattic\WooCommerce\Admin\API\MarketingCampaigns', 'Automattic\WooCommerce\Admin\API\MarketingCampaignTypes', 'Automattic\WooCommerce\Admin\API\Options', 'Automattic\WooCommerce\Admin\API\PaymentGatewaySuggestions', 'Automattic\WooCommerce\Admin\API\Themes', 'Automattic\WooCommerce\Admin\API\Plugins', 'Automattic\WooCommerce\Admin\API\OnboardingFreeExtensions', 'Automattic\WooCommerce\Admin\API\OnboardingProductTypes', 'Automattic\WooCommerce\Admin\API\OnboardingProfile', 'Automattic\WooCommerce\Admin\API\OnboardingTasks', 'Automattic\WooCommerce\Admin\API\OnboardingThemes', 'Automattic\WooCommerce\Admin\API\OnboardingPlugins', 'Automattic\WooCommerce\Admin\API\OnboardingProducts', 'Automattic\WooCommerce\Admin\API\MobileAppMagicLink', 'Automattic\WooCommerce\Admin\API\ShippingPartnerSuggestions', 'Automattic\WooCommerce\Admin\API\AI\StoreTitle', 'Automattic\WooCommerce\Admin\API\AI\BusinessDescription', 'Automattic\WooCommerce\Admin\API\AI\StoreInfo', 'Automattic\WooCommerce\Admin\API\AI\Images', 'Automattic\WooCommerce\Admin\API\AI\Patterns', 'Automattic\WooCommerce\Admin\API\AI\Product', ); } if ( Features::is_enabled( 'launch-your-store' ) ) { $controllers[] = 'Automattic\WooCommerce\Admin\API\LaunchYourStore'; } if ( wc_rest_should_load_namespace( 'wc-analytics' ) ) { // Controllers in wc-analytics namespace, but loaded irrespective of analytics feature value. $analytic_mu_controllers = array( 'Automattic\WooCommerce\Admin\API\Notes', 'Automattic\WooCommerce\Admin\API\NoteActions', 'Automattic\WooCommerce\Admin\API\Coupons', 'Automattic\WooCommerce\Admin\API\Data', 'Automattic\WooCommerce\Admin\API\DataCountries', 'Automattic\WooCommerce\Admin\API\DataDownloadIPs', 'Automattic\WooCommerce\Admin\API\Orders', 'Automattic\WooCommerce\Admin\API\Products', 'Automattic\WooCommerce\Admin\API\ProductAttributes', 'Automattic\WooCommerce\Admin\API\ProductAttributeTerms', 'Automattic\WooCommerce\Admin\API\ProductCategories', 'Automattic\WooCommerce\Admin\API\ProductVariations', 'Automattic\WooCommerce\Admin\API\ProductReviews', 'Automattic\WooCommerce\Admin\API\ProductVariations', 'Automattic\WooCommerce\Admin\API\ProductsLowInStock', 'Automattic\WooCommerce\Admin\API\SettingOptions', 'Automattic\WooCommerce\Admin\API\Taxes', ); if ( Features::is_enabled( 'analytics' ) ) { $analytics_controllers = array( 'Automattic\WooCommerce\Admin\API\Customers', 'Automattic\WooCommerce\Admin\API\Leaderboards', 'Automattic\WooCommerce\Admin\API\Reports\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Import\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Export\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Products\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Variations\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Products\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Variations\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Revenue\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Orders\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Orders\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Categories\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Taxes\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Taxes\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Coupons\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Coupons\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Stock\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Stock\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Downloads\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Downloads\Stats\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Customers\Controller', 'Automattic\WooCommerce\Admin\API\Reports\Customers\Stats\Controller', ); // The performance indicators controllerq must be registered last, after other /stats endpoints have been registered. $analytics_controllers[] = 'Automattic\WooCommerce\Admin\API\Reports\PerformanceIndicators\Controller'; $analytics_controllers = array_merge( $analytics_controllers, $analytic_mu_controllers ); } $controllers = array_merge( $controllers, $analytics_controllers, $analytic_mu_controllers ); } /** * Filter for the WooCommerce Admin REST controllers. * * @since 3.5.0 * @param array $controllers List of rest API controllers. */ $controllers = apply_filters( 'woocommerce_admin_rest_controllers', $controllers ); foreach ( $controllers as $controller ) { $this->$controller = new $controller(); $this->$controller->register_routes(); } }