The best theory teacher is all the songs you’ve learned. The best theory practice is to tear those songs apart and see how they’re put together.
In order to do that, you will need to learn to recognize chords, scales and arpeggios in any key all over the fingerboard. If you know the notes on every string covering the entire fingerboard, this will be a lot easier to work through:
* Major, minor and (dominant) 7 chords are a must. Diminished chords show up here and there too. Add maj7, min7, min7b5 and dim7 chords for thoroughness. Learn chord inversions for all of these but especially straight major and minor chords. Learn the arpeggio shapes for all these chord types. Augmented chords are rare. You can deal with them if you ever run into one in a song.
* Major and minor pentatonic scales are used everywhere. These two scales should be your best friends.
* the 7-note major and natural minor scales are the real parents of music theory and lay the groundwork for understanding what the concept of key is all about.
Once you get that rolling, start putting a name to everything you play. The tool for this is to translate chords, scales and arpeggios into intervals. Intervals are like the secret formula of music. Once you start seeing intervals up and down the fingerboard everything else will start to fall into place.
Next up would be to learn how chords are derived from the major and minor scales and arranged to build chord progressions and establish the key of a piece of music.
Once you’re dealing with keys and tonality, you’ll need to start working with harmonic and melodic minor scales and at least the Dorian and Mixolydian modes.
When you start dissecting and analyzing songs, you will quickly run into all sorts of chords and progressions that don’t “fit the scale”. And scales being used that don’t “fit the chords”. That’s because none of this stuff is carved in stone. There are many common ways to alter chords and progressions or apply scale substitutions and whatnot. You’ll need to be good at the basics for this stuff to make much sense.
The thing to understand about theory is that all of these things are different sounds. You’ve been hearing this stuff every time you play a piece of music. In order to understand what you’re hearing, you need to be able to put a label on the sound.
When it comes to putting your own ideas together, you’ve got to make decisions about what sounds you want to use. Having a stockpile of labeled sounds is like a grab bag you can pick and choose from.