Settings API – save an array of options as one setting (array_push?)
Always develop with WP_DEBUG set to TRUE. You’ve a typo: array_push($valid_input[$id], $input[$id]; (missing ) after the array_push) You can’t push to arrays that are not … arrays. // So, check this before pushing: $valid_input[$id] = ! is_array( $valid_input[$id] ) ? (array) $valid_input[$id] : $valid_input[$id];