[childId => val, ...], 1 => [...] ]` * — recursively sanitizes every leaf value the same way sanitize_value() * does for an ordinary field. Row-count/required-per-row *validation* * (blocking) is a separate concern owned by each strict caller (see * SubmissionHandler::validate_repeater_rows()) — a draft save never * calls that, only this. */ public static function sanitize_repeater_value( $value ) { if ( is_array( $value ) ) { return array_map( [ __CLASS__, 'sanitize_repeater_value' ], $value ); } return sanitize_textarea_field( (string) $value ); } }