Hints and Tips to Make Your WordPress Development Easier

Recently I was contacted on Twitter by Josh Fialkoff how I develop WordPress themes, and I thought the answer would make for perfect blog fodder.

I used to work entirely on my local computer, with apache, mysql, and php installed (XAMPP on Windows, MAMP on Mac), however working like that made collaboration really tough so I decided to move online, and that’s what I am going to write about below.

WordPress Development Site

My solution was to create a sub-domain on one of my websites and then install WordPress mu (which is now WordPress 3.0). Using the multi site feature of WordPress means that I can have a separate site for each theme without having to set up loads of copies of WordPress.

Development

As I mentioned I moved my development online, but the coding is all done with software on my local machine. I use different software depending upon the job or the operating system.

On Windows I use the killer combination of Notepad++ and WinSCP. WinSCP is an awesome piece of freeware that works as a remote file browser/ ftp program. Notepad++ is also fantastic, and unfortunately I haven’t been able to find anything that replicates their functionality on my new MacBook Pro.

On the Mac I have two different setups depending upon the task. My WinSCP replacement is Transmit 4, and Notepad++ has been replaced by Editra (nope, not TextWrangler/ BBEdit or any of the other more famous editors). My second choice is a standalone program, Netbeans. This is a fantastic bit of kit but is best suited to projects (perfect for themes) and not individual files (such as I edit with Transmit and Editra).

Testing

To test my themes I install some test WordPress content and a couple of plugins.

The test content is used to make sure that the css and the functionality cover all the possibilities. All css styles, and all possible combinations of built in functionality. Eg comments on/ off, threaded comments, trackbacks, sticky posts etc. To do this yourself I would recommend the official WordPress test content.

In addition to the test code I install a database query plugin. This plugin allows you to check what queries are executed on the site and then optimize your code to either reduce/ remove queries, or to see what ones are running slowly and need rethinking. Provided you are using the built in WordPress functions and not writing your own queries you should be fine, but start writing complex queries and there may be problems.

One thing I am missing is a decent automated test suite for WordPress. I’ve seen a few attempts but so far have yet to find something that does everything I want in as little effort/ input as possible. The easier it is to run the tests the more tests will be executed. I think that’s a challenge for someone more intelligent than I to solve.

Deployment

Because I develop online theme deployment is much easier. What I did was write a small bash script that copies the theme files to my demo server (which is actually a sub-domain running from the same machine). My bash script also deletes all cache file, and packages up the theme zip files so that people can download the themes as soon as an update is published.

SVN/ Version Control?

One thing I haven’t mentioned is SVN or Version Control, this is something I haven’t really used for my personal work (have used it in the day job though), and it’s something I am definitely considering moving over to but for the time being it’s not really required.

Your Turn?

So how do you develop your webites? Is there anything I could do better/ differently?

Was it good/ useful/ a load of old rubbish? Let me know on Mastodon, or BlueSky (or Twitter X if you must).

Link to this page

Thanks for reading. I'd really appreciate it if you'd link to this page if you mention it in your newsletter or on your blog.

WordPress News

The latest WordPress updates from the WPBriefs Podcast.

Related Posts

04 Nov 2016

Automating WordPress Development with Gulp, Bash, and PHP

When I wrote about the things I had learned from releasing 20 WordPress themes, I mentioned that I had automated as much as I could. One of the things I automated was the build and deployment process for my themes...
27 May 2013

WordPress: 10 Years Young, What Does The Future Hold?

WordPress is now 10 years old. I started using wordpress 9 years ago – which means I joined the WordPress community early on. The reason I chose WordPress is simply because of the fabled 5 minute install process – I...
01 Apr 2015

The State of WordPress Themes #wcldn

I recently spoke on a panel at WordCamp London 2015e. Lance – who used to be the Theme Team lead at WordPress.com – asked me if I wanted to speak on a panel with him at WordCamp London 2015. I’ve...
15 Jan 2010

Building WPVote Part 5 : Programming

I’m nearly finished with the design of my new WordPress voting site, WPVote, so now need to look more closely at the programming.I enjoy dissecting WordPress themes, and since I also like code simplicity and minimalism (and am working with...
13 May 2010

6 Tips to Build Better WordPress Themes

If you want to make WordPress themes, for clients, to release for free or to sell, then there are a lot of factors you need to take into consideration. Below are some hints and tips that should help ease your...
13 Oct 2016

Lessons Learned from 20 Theme Releases on WordPress.com

In 2007 I partnered with Darren Hoyt to release Mimbo Pro, one of the earliest premium WordPress themes. In 2012 Mimbo Pro was published on wordpress.com. Last week – on October 5th 2016 to be precise – my 20th theme...