You'll want to use Bloopair, which allows you to connect a bunch of different controllers wirelessly:
https://gbatemp.net/threads/bloopair-connect-controllers-from-other-consoles-natively.594289/
A few controllers that are not on the list, like 8bitdo, will also work.
Another option is to use a Mayflash GameCube to Wiimote adapter, which lets you connect a GameCube controller to your Wiimote, should work with all GameCube games and any Wii and Wii U game that supports the Wii classic controller.
For wired controllers you have fewer options. GameCube controllers will work with the USB adapter, but only for GameCube games and Smash Bros. for Wii U. There's also Fakemote, which allows you to play Wii games with a PS3 or PS4 controller connected via USB, but it's still a bit buggy, I couldn't get it to work on Wii U, and even on Wii some games crash.
Lastly, I know a lot of people like to inject Wii and GameCube games to have everything on the main menu, but I would recommend that you use USB Partition instead:
https://gbatemp.net/threads/usb-partition-use-partitioned-usb-hdds-with-the-wii-u.656209/
This will allow you to make a partition for Wii U games, and a second partition for Wii and GameCube games to play them through USB Loader GX. It's easier and faster to setup, allows for more customization such as different aspect ratios, cheats and emunand support, and will save you space on the Wii U main menu, as injects count towards the 300 title limit.