Today my fifth WordPress plugin went live on WordPress.org: Child Theme Wizard.
It lets you create child themes in a single click without ever having to leave the WordPress admin interface.
I found the previous process bait cumbersome using external programmes to create child themes. My little tool has already proved very helpful for my own theme tweaks, and I hope it can help many others in the community.
Child Theme Wizard was my second coding effort this year. I have taken a quick break from iOS apps and Objective-C since the year began – there’s only so much time in the day and there’s so much to do (besides swimming and cycling). I had taken this break because I got involved in the concept of developing extensions for Plesk in preparation for Parallels Summit, which in turn brought me closer to PHP again (that’s what you use to develop WordPress plugins).
But I missed hacking and wanted to get my hands dirty again – and this seemed like a nice project, from idea to reality in less than a week. Writing Child Theme Wizard didn’t take me as long as developing plugins in the past have: I wrote the core functionality in a single day, and added minor tweaks over the next two days.
What I realised is that all that Objective-C experience from the last three years is rubbing off on how I code in PHP: Even though both are very different languages, what you ultimately achieve and do with either language is more or less then same:
- you have variables and arrays and need to loop through them
- you want to store and retrieve data
- you want to display results to the user
- you want the user to interact and react to their input
Then of course there’s the object oriented bit: in PHP you can completely ignore this feature, but in Objective-C you can’t/don’t really write code without it. It’s mandatory. So is its code strictness, unlike in PHP where you’re more than welcome to write your statements any way you please. This sounds great when you’re a beginner, but it catches you out eventually when your code becomes unmaintainable – and you *wish* there had been a structure to it.
I now look at my 4 other WordPress plugins and think “this is terrible – I need to re-write everything, I can’t add a feature to existing code”. I’ve become more aware and accustomed to how the more complex bits of PHP are working as a direct result of such equivalent concepts in Objective-C.
For me that’s great news: I can see a change, I can see that things are “getting better”. I’m no longer stumbling in the dark and achieve things by trial and error, all the while reading documentation that I don’t really comprehend.
Like with any skill though: you got to keep doing it and practice, otherwise your brain goes and deletes stuff it deems “unnecessary”.
My next coding project will be a cycling log for iOS. It’s inspired by our recent purchase of two new bikes and a long ride to Key Biscayne – I’ll tell you all about it in my next post.