register_data_controller(); add_filter( 'elementor/editor/v2/packages', fn( $packages ) => $this->add_packages( $packages ) ); add_action( 'elementor/editor/v2/scripts/enqueue', fn() => $this->print_inline_config() ); } public function get_name(): string { return 'audits'; } public static function get_experimental_data() { return [ 'name' => self::EXPERIMENT_NAME, 'title' => esc_html__( 'Page Audit', 'elementor' ), 'description' => esc_html__( 'Scan the current page for SEO, accessibility, performance, and best-practice issues directly from the editor.', 'elementor' ), 'release_status' => Experiments_Manager::RELEASE_STATUS_BETA, 'default' => Experiments_Manager::STATE_INACTIVE, 'hidden' => true, ]; } public static function is_active(): bool { return Plugin::$instance->experiments->is_feature_active( self::EXPERIMENT_NAME ); } public function register_data_controller(): void { Plugin::$instance->data_manager_v2->register_controller( new Controller() ); } private function add_packages( array $packages ): array { return array_merge( $packages, self::PACKAGES ); } private function print_inline_config(): void { wp_add_inline_script( 'elementor-v2-editor-audits', 'window.elementorAudits = ' . wp_json_encode( [ 'restNamespace' => self::REST_NAMESPACE, 'nonce' => wp_create_nonce( 'wp_rest' ), ] ) . ';', 'before' ); } }