My interest to learn WordPress came from wanting to be more than just a PHP developer. Sure I knew this language pretty well. But hadn’t made anything of mention. Straight out of college I could not idle away for 6 months. So I started learning WordPress.
I have been making WordPress themes and plugins for over 2 years now. I feel like I have reached a stage where there is absolutely nothing in WordPress I cannot figure out on my own and cannot handle on my own. I am not yet there where I can generate complex plugins in a matter of minutes.
WordPress Theme Development: My First Theme
I started out by creating a simple WordPress theme. It wasn’t a very good one. It was just decent enough. I tried to submit it to the WordPress.org repository. I kept getting error messages saying the theme is missing this, that, this and that. I eventually gave up on distributing the theme. It wasn’t a very good one but it was very very minimal. Didn’t think lot of people would have downloaded and used it.
I called the theme “Simple News”.
WordPress Plugin Development: WP Autoresponder
Creating WP Autoresponder taught me a lot about WordPress. The development of the plugin touched upon a good huge chunk of the WordPress plugin API – categories, posts, cron jobs, widgets, user access limitation and so on. During the course of developing the plugin I was able to muddle through and figure out where to look for answers.
I was under the impression that the core of WordPress was some voodoo that nobody touched. It is only worked upon by the most daring souls. But then I soon realized that whenever I asked a question the developers at wp-hackers simply read the source code in the relevant file. And it wasn’t voodoo magic like I thought it will be. The code was pretty well commented, no scary identifiers like EventModelAdaptermMarshallInterface or something. From that day forward, I completely stopped posting in all major mailing lists and forums.
After that I moved to Ubuntu. Now I just grep -r the source code for what I want. Almost in all cases I find what I want.