> */ private const EXPERIMENT_CLASSES = array( // phpcs:ignore SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition -- This is used as an array const. \WordPress\AI\Experiments\Abilities_Explorer\Abilities_Explorer::class, \WordPress\AI\Experiments\Custom_Abilities\Custom_Abilities::class, \WordPress\AI\Experiments\AI_Request_Logging\AI_Request_Logging::class, \WordPress\AI\Experiments\Connector_Approval\Connector_Approval::class, \WordPress\AI\Experiments\Key_Encryption\Key_Encryption::class, \WordPress\AI\Experiments\Comment_Moderation\Comment_Moderation::class, \WordPress\AI\Experiments\Suggest_Reply\Suggest_Reply::class, \WordPress\AI\Experiments\Alt_Text_Generation\Alt_Text_Generation::class, \WordPress\AI\Experiments\Content_Classification\Content_Classification::class, \WordPress\AI\Experiments\Content_Resizing\Content_Resizing::class, \WordPress\AI\Experiments\Summarization\Summarization::class, \WordPress\AI\Experiments\Content_Translation\Content_Translation::class, \WordPress\AI\Experiments\Editorial_Notes\Editorial_Notes::class, \WordPress\AI\Experiments\Editorial_Updates\Editorial_Updates::class, \WordPress\AI\Experiments\Excerpt_Generation\Excerpt_Generation::class, \WordPress\AI\Experiments\Meta_Description\Meta_Description::class, \WordPress\AI\Experiments\Slug_Generation\Slug_Generation::class, \WordPress\AI\Experiments\Title_Generation\Title_Generation::class, \WordPress\AI\Experiments\Type_Ahead\Type_Ahead::class, ); /** * Initializes the experiments by hooking into the appropriate filter. * * @since 0.6.0 */ public function init(): void { // Priority 9 ensures it runs before any potential overrides at default priority. add_filter( 'wpai_default_feature_classes', array( self::class, 'register_default_experiment_classes' ), 9 ); } /** * Registers default experiment classes. * * @since 0.6.0 * * @param array> $existing Array of existing experiment class names, with experiment IDs as keys. * * @return array> Array of experiment class names, with experiment IDs as keys. */ public static function register_default_experiment_classes( array $existing ): array { $experiments = array(); foreach ( self::EXPERIMENT_CLASSES as $class_name ) { $experiments[ $class_name::get_id() ] = $class_name; } return array_merge( $existing, $experiments ); } }