query_vars['yqtrack-api'] = $_GET['yqtrack-api']; if (!empty($_GET['yqtrack-api-route'])) $wp->query_vars['yqtrack-api-route'] = $_GET['yqtrack-api-route']; if (!empty($wp->query_vars['yqtrack-api-route'])) { define('YQTRACK_API_REQUEST', true); $this->includes(); $this->server = new YqTrack_Server($wp->query_vars['yqtrack-api-route']); $this->register_resources($this->server); $this->server->serve_request(); exit; } } private function includes() { include_once('api/yqtrack-server.php'); include_once('api/yqtrack-json-handler.php'); include_once('api/yqtrack-authentication.php'); $this->authentication = new YqTrack_Authentication(); include_once('api/yqtrack-resource.php'); include_once('api/yqtrack-orders.php'); } public function register_resources($server) { $api_classes = apply_filters('yqtrack_api_classes', array( 'YqTrack_Orders', ) ); foreach ($api_classes as $api_class) { $this->$api_class = new $api_class($server); } } }