Filtering problem

… I will need to be more specific, by adding a “%” after $author
(James). The problem is that this will not work at all. Any idea why?

The % is a wildcard with a MySQL LIKE query, which I suspect you know. With meta queries, WordPress will add one to the beginning and one to the end of the string you provide. You can see that in the source. or just by var_dumping the query. By adding a % of your own, I suspect is throwing things off. By the time WP_Query and wpdb is through with it, it ends up looking like \\%%. I just ran a query through to check that.

Unfortunately the LIKE meta_query is not very flexible, but maybe you could sort it out with the get_meta_sql filter.