Any style of GameCube controller will work, including most third-party controllers that use the GameCube proprietary port like this GameCube controller by Cippon. USB controllers will not work.
If you're using an old original GameCube controller, you may have to test it to see if it's working. You can do that on a GameCube or the Wii by following through this guide.
The wireless GameCube controller known as the WaveBird is also compatible with the Wii.
The port location for connecting GameCube controllers is on the side of the Wii. If you're propping yours upright, they will be accessible through the top. You need to open a small hatch to access them.
The GameCube controller should be automatically recognized. If you aren't able to maneuver through the menu with it, try launching a game with the Wiimote that you want to use it with.
No technical endeavor is complete without a hangup or two! Here are a few common issues encountered when using a GameCube controller on the Wii.
No input from controller - Double-check the connection, unplug, and reconnect the controller. You can also try restarting the Wii. As a last resort, you may have to test the controller on another console to see if it's still working.
WaveBird not working - Always use a fresh set of batteries when digging out an old WaveBird. These guys also need to be dialed into the right channel to communicate properly with the receiver. Double-check to confirm the controller and receiver dials are on the same channel number.
I don't care what year it is, the GameCube controller was the best controller ever made.