registry = $registry; } /** * Hooks into WordPress to register dashboard widgets. * * @since 0.8.0 */ public function init(): void { add_action( 'wp_dashboard_setup', array( $this, 'register_widgets' ) ); } /** * Registers the dashboard widgets and enqueues styles. * * Only registers widgets for users with the `manage_options` capability. * * @since 0.8.0 */ public function register_widgets(): void { if ( ! current_user_can( 'manage_options' ) ) { return; } $status_widget = new AI_Status_Widget( $this->registry ); wp_add_dashboard_widget( 'wpai_status', __( 'AI Status', 'ai' ), array( $status_widget, 'render' ) ); $capabilities_widget = new AI_Capabilities_Widget( $this->registry ); wp_add_dashboard_widget( 'wpai_capabilities', __( 'AI Capabilities', 'ai' ), array( $capabilities_widget, 'render' ) ); Asset_Loader::enqueue_style( 'dashboard-widgets', 'admin/dashboard' ); } }