Can I get my Battle.Net authenticator to accept one-button approval instead of codes?

There is no way to get "One-Button Approval" in the WoW client. It only supports this through the Battle.net Launcher, which will only ask you the first time. When launching the WoW client directly (so not from the launcher), or when you are returned to the login screen (for example, on a disconnect), the client will ask you for an authenticator code. This is because the client does not support the authenticator in its modern shape (e.g. one-button approval).

What I found is an acceptable work-around, is to just close the client and launch it from the Battle.net Launcher. Depending on your system, this may not be optimal.

If this does not work for you, and you are asked for an authenticator code even when launching from Battle.net launcher, you should try removing and adding the mobile authenticator in your account's security settings. You can find out how to do so by viewing the support article on Removing the Blizzard Authenticator and Blizzard Authenticator.

When that does not help resolve your issue, I strongly recommend you contact Blizzard, as there will be definitely be a technical issue at play. In my experience, their support department is very helpful and quick to respond.