I have been solving the 3x3 using the beginners method for about 2 and a half months and I was wondering what order I should learn CFOP in. I was thinking of learning advanced f2l first and then oll and pll but I have only learnt a few algorithms. Should I just learn intuitive f2l first and then do oll and pll and learn advanced f2l last or learn advanced f2l first? If so, I can't find a good way to learn the algorithms apart from scrambling and hoping I don't constantly get the same cases.
Learning full CFOP is tedious, because if you remember 70% of the "orient last layer" algorithms, and 70% of the "permute last layer" algorithms, you'll be unable to solve the last layer more than half the time.
So the hard work is going to be memorizing the OP bit, and then you'll be still in the same situation with committing all the OP algorithms into muscle memory: if you hit a slow algo on half your solves, your average times are going to be determined by those.
All in all, if you are willing to put in the hard work "up front", start with P, then O.
On the other hand, if you mostly want to have fun, then maybe concentrate on solving the cross with minimal number of moves so that you already know how to get the cross before picking up the cube. (This approach is also useful for improving your beginner method solves.)
The "first two layers" step has relatively few algorithms and you get to do 4 of them every solve, so that part will automatically get a lot of practise, and you kind of get to learn it "for free".