Again, my 2 cents
Lets say that building a PHP app is like building a house. WordPress would be an almost complete 3 bedroom house model, already done for you. It just needs the paint and you have a house where you can live in.
Now, if you paint that 3 bedroom house 100 times, you’ll be an expert at painting this kind of house model. It won’t help you much into building a houses. And painting other model of houses would be a different task.
You could also decide that you want to add a room and a bathroom to your “house model”. Do that 100 times, and you’re an expert at customizing this kind of “house model” to add a room and a bathroom. If it’s want you want to do, that’s fine.
But, it won’t make you an expert at building houses. And you won’t really know how that “house model” is built from the ground up. Sure, you could learn how some parts are made, but knowing everything about an already constructed house is kinda difficult. And what if the “some parts” you learn about are not done well anyway? What will happen when you’ll try to build your own house from the ground up?
Then, if you want to build a gym and just know how to customize that kind of “house model”, well… It’ll be possible to customize it to a gym, but probably inefficient. It would be like building a boat out of a truck.
Also, if you want to learn how to better customize your house, you should learn how to build a house from the ground up. The foundation frist. Then the wall, etc. Then, if you go back to your “house model”, you’ll know what’s good and what’s wrong with it. You’ll also know when you should use it and when you shouldn’t (like if you want to make a gym).
If we go back to WordPress:
Adding themes to WordPress can be a viable hobby and even a business, but it won’t make you a PHP programmer.
And just “coding” with WordPress will give you the view on how WordPress is done, but it’s not a “normal” web application, it’s a blogging platform. It’s good at making blogs, not other kind of web apps. You can make other kind of web apps, but it wasn’t built for that in the first place. Yea, WordPress have a lot of plugins and you can even make a membership site out of it, but it’ll be like building a boat out of a car. You’ll either get a really ugly boat, or it’ll take a lot of time to turn that car into a boat. It would be more efficient to start from scratch. (Don’t get me wrong, WordPress is a really nice prodduct)
If you want to build other kind of PHP applications, you need to start at the beginning:
- Learn general programming concepts (you can try codeacademy for example)
- Learn the HTTP protocol (seems complicated but it’s not, shouldn’t take you more than 2 hours for the first read) : http://www.jmarshall.com/easy/http/
- Then, go with PHP (a beginner book)
- Try to build 2-3 really small apps… like a contact form, something that writes stuff into a file, etc.
- Then, you can try some PHP frameworks like Laravel, CodeIgniter, etc.
- Then you can go with mySQL, a noSQL database, etc.
That’s the path I would recommend if you want to make advanced and efficient web applications or become really, really good with WordPress development (not just themes but plugins also).