query_vars['adscaleProductsCount'] = sanitize_key( wp_unslash( $_GET['adscaleProductsCount'] ) ); } // make sure endpoint request if ( ! isset( $wp->query_vars['adscaleProductsCount'] ) ) { return; } try { ob_start(); // Error handler self::setErrorHandler(); Helper::nocache_headers(); // Check Request (Guards) self::checkRequest(); ob_end_clean(); // Handle Request self::handleRequest(); // Default error Helper::send_response_formatted_error( self::makeErrorBody() ); } catch ( PluginApiException $ex ) { Helper::send_response_formatted_error( self::makeErrorBody( $ex->getApiErrorCode(), $ex->getMessage(), $ex->getApiErrorDetails() ) ); } catch ( \Exception $ex ) { Helper::send_response_formatted_error( self::makeErrorBody( $ex->getCode(), $ex->getMessage() ) ); } } /** * Handle API request * */ public static function handleRequest() { $args = [ 'status' => [ 'private', 'publish' ], 'limit' => - 1, 'orderby' => 'ID', 'order' => 'ASC', 'return' => 'ids', ]; $products_ids = wc_get_products( $args ); if ( ! is_array( $products_ids ) ) { Helper::send_response_formatted_error( self::makeErrorBody('S000','Unknown error', 'Products count error' ) ); } Helper::send_response_formatted_success( [ 'count' => count( $products_ids ), ] ); } }