query_vars['adscaleShopInfo'] = sanitize_key( wp_unslash( $_GET['adscaleShopInfo'] ) ); } // make sure endpoint request if ( ! isset( $wp->query_vars['adscaleShopInfo'] ) ) { 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() ) ); } } public static function handleRequest() { $shop_name = \get_bloginfo( 'name' ); // the same as get_option( 'blogname' ) $shop_email = Helper::get_site_email(); // the same as get_bloginfo( 'admin_email' ), get_option( 'admin_email' ) $shop_domain_w_protocol = \get_bloginfo( 'url' ); // the same as home_url() $phone = null; $locale = function_exists( '\determine_locale' ) ? \determine_locale() : \get_locale(); $country_code = WC()->countries->get_base_country(); $country_name = $country_code && ! empty( WC()->countries->countries[ $country_code ] ) ? WC()->countries->countries[ $country_code ] : ''; $currency_iso_code = \get_woocommerce_currency(); $timezone = function_exists( '\wp_timezone_string' ) ? \wp_timezone_string() : Helper::wp_timezone_string(); $owner_name = null; Helper::send_response_formatted_success( [ 'shop' => [ 'name' => $shop_name, 'email' => $shop_email, 'url' => $shop_domain_w_protocol, 'phone' => $phone, 'locale' => $locale, 'country_code' => $country_code, 'country_name' => $country_name, 'currency' => $currency_iso_code, 'timezone' => $timezone, 'owner' => $owner_name, ], ] ); } }