Firstly, I really recommend it! It is awesome! Mario Kart Wii is truly an epic game!
So, this is how you unlock all 13 characters. (Please Note they must all be won on Single player!)
1) Get at least 1 Star Rank for all 50cc Wii Grand Prix Cups or race in 1,950 races.
Unlocks Baby Daisy (you need Daisy first)
2) Unlock 8 Expert Staff Ghost Data in Time Trials, win 100 Wi-Fi Ghost Races, or race in 3,150 races.
Unlocks Baby Luigi.
3) Play Time Trials on 16 different courses, win 250 Wi-Fi races, or race in 1,350 races.
4) Get at least 1 Star Rank for all 100cc Retro Grand Prix Cups or race in 3,450 races.
Unlocks Bowser Jr
5) Win the 150cc Special Cup or race in 2,850 races.
6) Win the 50cc Lightning Cup or race in 450 races.
Unlocks Diddy Kong
7) Win the 100cc Leaf Cup or race in 1,050 races.
Unlocks Dry Bones
8) Get at least 1 Star Rank for all 150cc Wii Grand Prix Cups or race in 4,350 races.
Unlocks Dry Bowser.
9) Win the 50cc Star Cup or race in 750 races.
Unlocks King Boo.
10) Attain at least 1 Star Rank for all Mirror Grand Prix Cups, race in 4,950 races, or race in 50 races and have Super Mario Galaxy game files saved to your Wii.
11) Play Time Trials on all 32 different courses, win 1,000 Wi-Fi races, or race in 2,550 races.
12) Win the 100cc Special Cup.
Unlocks a Mii (Outfit A).
13) Unlock all (32) Expert Staff Ghosts in Time Trials.
Unlocks a Mii (Outfit B).
14) Unlock 4 Expert Staff Ghost Data in Time Trials.
Unlocks Funky Kong