WP_Query author parameter not working

First, the author parameter is parsed and appended to the author__in and author__not_in query parameters.

Then author__in or author__not_in array is processed. These can be arrays created from author parameter or arrays passed as query parameteres author__in / author__not_in or created from a mergion author parameter with author__in / author__not_in parameters.

Parameters author__in and author__not_in are mutually exclusive, so you can use only one of them. If both are given, then author__not_in will be used.

Finally, the author_name parameter is processed and added to thewhere clause. Although theoretically it can be used with any of the other parameters, the effect will be the same as if only author_name was used.