(int) $field['max'] ) { $number = (int) $field['max']; } return $number; } /** * Clean a starter prompt list: drop blanks, cut long text, cap the count. * * @param array $field Field schema. * @param mixed $value Raw value. * @return array */ private static function sanitize_prompts( array $field, $value ): array { if ( ! is_array( $value ) ) { return []; } $max_items = isset( $field['max'] ) ? (int) $field['max'] : 8; $max_chars = isset( $field['maxChars'] ) ? (int) $field['maxChars'] : 100; $list = []; foreach ( $value as $item ) { if ( ! is_string( $item ) ) { continue; } $clean = trim( sanitize_text_field( $item ) ); if ( '' === $clean ) { continue; } if ( mb_strlen( $clean ) > $max_chars ) { $clean = mb_substr( $clean, 0, $max_chars ); } $list[] = $clean; if ( count( $list ) >= $max_items ) { break; } } return $list; } }