WordPress job hunting

Most of my previous clients have found out about me through word of mouth, which has been great as I’ve been able to work with people I already know and have rapport with. But coming into the new year that source has slowed from a healthy flow to more of a trickle so I’m being more proactive about finding work.

In one sense it’s counter-intuitive to write about where I’m finding work as I’m potentially inviting others to eat my lunch, but one of the best things about the open source community is sharing and collaboration. Below is an overview of what I’ve found so far, if you’ve had an experience with any of theses sites or know about one I’ve missed, let me know in the comments.

  • WordPress Jobs – The official job board for WordPress, that’s people looking for WordPress developers, not jobs at WordPress. I’ve followed up a few leads I’ve found on there, but unfortunately a lot of posters have slightly unrealistic expectations in terms of scope of the work relative to the proposed budget. It’s also very US-centric.
  • Code Poet – The other official WordPress job site, though rather than a job board it’s a directory of WordPress professionals for clients.
  • WooJobs – Aside from the previous two official sites, this is the only WordPress specific jobs board I’ve come across. At the moment all the ads are for freelancers, with the exception of one full-time position with WooThemes themselves.
  • Gumtree – A British version of Craigslist. Mostly freelance and contract work.
  • Authentic Jobs – One of the best jobs boards for WordPress and front end developers I’ve found so far, they also have a specific UK site, hooray!
  • 37signals – Tends to feature more back end and language/platform specific jobs but chock full of high quality recruiters.
  • Forrst – Billed as a community for developers they’ve recently opened a jobs board. Sadly there’s only a handful of UK jobs listed at the moment, but it looks promising.
  • Smashing Jobs – Leans heavily towards designers and front end developers. Along with a good range of filtering tools including a well populated freelance section.
  • GitHub jobs – Like 37signals, features more back end and language focussed roles. They also offer a dedicated iPhone app, which none of the others so far have.
  • Stack Overflow Careers – Every developer’s favourite troubleshooting site has a job board too. Unfortunately no WordPress specific jobs have been advertised here for a few weeks, but the odd frontend job does come up.
  • Themely – An honourable mention as it hasn’t launched yet, but aims to match up WordPress theme designers with developers.

Unsurprisingly the paid sites offer much higher quality jobs, whilst the free boards have a greater quantity of ads, especially for freelance and contract jobs.

The best way I’ve found to get through all these sites is to try and find the most specific RSS feed and put that into a ‘jobs’ folder in my Google Reader account. For the sites that don’t offer location or keyword specific feeds I filter them through a Yahoo! Pipe. Then once a day or so I can go through them and apply to any relevant ones.

Of course if your looking for a lovely WordPress / front end developer in the UK who’s hip with all the latest HTML5, CSS3 and responsive web design you should drop me a message: or give me a ring: 07793940759.

Yes WordPress Can

A polemic by Kevinjohn Gallagher about his decision to no longer use WordPress for client sites has been doing the rounds on various tech sites for the last day or two. Initially I wasn’t going to write about it, but there’s a lengthy discussion on Hacker News about WordPress and various other CMS‘s that provoked a few thoughts.

He lists fifteen features that he says aren’t included or implemented satisfactorily in WordPress core and a comment moderation ‘straw that broke the camel’s back’. So I thought I’d go through them and suggest plugins or additional core functionality that can be used. Unfortunately it isn’t clear in some of them exactly what he’s referring to, but here goes:

  1. Document management – There’s the Document Revisions plugin which he mentions.
  2. Workflow management – Edit Flow (again, which he mentions) and Pre-Publish Reminders is good way to make sure users don’t forget, for example, to make sure they tag posts and set a thumbnail.
  3. Digital asset management – I’d definitely agree here that the media library could do with some love and attention from WordPress core developers. File Un-Attach is a  useful little plugin that allows you to detach and attach media to multiple posts.
  4. Link management – Presumably he means permalink structure, something like Redirection might be suitable, as it can take regular expressions as redirect rules.
  5. User management – Both Members and Role Scoper allow you to create access control lists beyond the WordPress defaults.
  6. Caching & CDN – There’s a plethora of caching plugins, I use W3 Total Cache on client sites (as well as my own). It’s got more settings than an aeroplane dashboard, but the most suitable ones are set by default and it integrates nicely with most popular CDNs.
  7. WYSIWYG editing – TinyMCE already does this in core and you can extend it with an editor stylesheet so it matches your theme exactly.
  8. Single Sign-on – I’ve not implemented something like this before, but OneLogin SAML seems to add the functionality.
  9. Multi-side Admin – By this I presume he means accessing admin functions from the front-end of the site, this is possible to do with any theme or a plugin like Gravity Forms.
  10. Publishing options – It’s not clear what he doesn’t like about the current publishing options or what additional ones he’d like, so I can’t really suggest anything here.
  11. Access Management – Again, either Members or Role Scoper should do the trick.
  12. Application – Using a CMS as foundation for a web app probably isn’t the best idea in any case, but it’s by no means impossible with WordPress.
  13. Multilingual – WordPress is available in over 70 languages and dialects and there’s an article in the codex full of solutions to make the front end available in multiple languages too.
  14. n-to-n content sharing – Something that might be solved with networked storage or a CDN, rather than in core or with a plugin.
  15. Reporting – Not sure what he means here, so I can’t suggest anything.
  16. Comment Moderation – the straw that broke the camels back. Once more you can use Members or Role Scoper to add the moderate_comments capability to any user or role.

There are two questions I’d ask in response to Gallagher, firstly should all of this functionality really be in core? and secondly what alternative to WordPress will he be using?

I’d argue that a lot of this functionality shouldn’t be in core and should be left to plugins instead. There isn’t a CMS out there that I can think of that offers all the functionality he lists out of the box or with decent plugins.

The other big bone of contention he has is with the WordPress update process, for both core and plugins. Which to most WordPress users will sound absurd as it’s one of the best things about WordPress compared to other CMSs, which often have no update notification let alone  WordPress’ one click update process.

Major WordPress core releases are every four months, usually with a handful of betas and a couple of release candidates before. So there’s plenty of lead time to fix any plugins or themes that are incompatible or need to update depreciated functions. An intresting aside – depreciated functions aren’t actually removed, so a theme using template tags from 1.5 will still work in the latest version, albeit perhaps not exactly as expected.

In the Hacker News discussion a few people have made comparisons of WordPress with other CMSs with regards it being their junior in terms of function and flexibility. Even though I’ve developed WordPress sites for a few years now, I still feel as though I’m only touching the surface of what it can do. When clients have come to me with what they want their site to do, I’ve never had to say to myself, or them, this just isn’t possible with WordPress.

That’s not just because I’m making simple blogs for people either. The three most recent sites I’ve built for people have been a portfolio site for a photojournalist that uses custom post types for galleries, a fully functional eCommerce store using the WooCommerce plugin and a rich news site that sits perfectly on top of WordPress’ built in post, category and tag structure.

WordPress is the most popular CMS on the internet. Once you’ve used it and tinkered around with themes and plugins it’s easy to see why. A clean, intuitive interface for users; logical and well documented template tags and almost limitless extendability with plugins.

Anyone reading Gallagher’s post, a comparison of WordPress against another flavour of the week CMS or ‘this CMS I coded myself over the weekend in an obscure programming language and is way better than anything else – ever’ should have a take a good long look at WordPress and they’ll probably realise: we can do this with WordPress.

WordPress 3.3 “Sonny” released

It seems the WordPress gods listened to my wishes and have released the latest version of WordPress codename “Sonny”, after saxophonist Sonny Stitt (all WordPress releases are named after jazz musicians).

Funnily enough I met some clients last night and mentioned that WordPress would be updating soon, I just didn’t realise quite how soon that would be! I’ve already taken the plunge and updated this site, it went surprisingly quickly, only taking a few seconds to complete the whole process.

As always there’s a neat video from Michael Pick that succinctly explains the new features:

[sublimevideo class=”sublime” poster=”http://wpcandy.com/files/2011/12/wp33release-teaser.jpeg” src1=”http://videos.videopress.com/I7NAw9Zk/three-three-final_hd.mp4″ src4=”http://videos.videopress.com/I7NAw9Zk/three-three-final_fmt1.ogv” width=”630″ height=”354″]

For the more technically minded, you can go over the full changelog for 3.3 in the WordPress Codex. A notification to update will automatically appear when you log in to WordPress or you can download it manually.

I always say, the best Christmas presents are early Christmas presents.

All I want for Christmas is WordPress 3.3

The next major release of WordPress is just a few weeks away. I’ve been testing the betas for the last month or so and was all ready to write up a preview when Aaron Brazell beat me to it with 10 Things You Need to Know About WordPress 3.3.

3.3 was meant to be released this month but that’s slipped into next because of some bugs that still need fixing. The WordPress Development Updates blog is the best place to see where things are in the development cycle and at the moment it looks like RC1 should be out after Thanksgiving, with the final release before Christmas.

Two-factor authentication for WordPress

For a while now I’ve used two-factor authentication with my Google Apps account. That is the combination of something you know – your password – and something you have – in this case a free App for your smartphone that generates a new six-digit code every thirty seconds.

What I didn’t realise was that it was an open-source project that you could implement on any website or service that you cared to and that someone has helpfully created a WordPress plugin that does exactly that.

In the current version (0.38) there seems to be a bug where you can’t have spaces in the description field, but other than that it works a treat and I’ve already installed it on a couple of WordPress sites I run.

The Google Authenticator App is free and available for AndroidBlackberry and iOS.

Note: the plugin requires SHA1 and SHA256 hashing algorithms to be available on the server. Helpfully it will check for these when it activates, so you don’t have to worry about tracking them down if your not sure.

Dries Buytaert & Matt Mullenweg talk openly

Dries Buytaert & Matt Mullenweg respective founders of Drupal and WordPress spoke together for the first time at Schipulcon a few days ago.

They talked mostly about Open Source software and how their individual philosophies permeated the projects, Buytaert on how as a software engineer he planned Drupal’s architecture carefully from the start and Mullenweg on wanting to create a beautiful and simple platform for others to use.

It’s good to see that even though they’re competitors, their relationship isn’t at all adversarial. Mullenweg mentioned that for a few years WordPress actually used a snippet of code from Drupal, which is of course allowed because both are licensed under GPL.

Fix media URLs after moving WordPress into a sub-directory

I’m currently in the process of migrating a bunch of WordPress sites to a lovely new Ubuntu flavoured Rackspace cloud server. On most of them it’s a pretty straight forward MySQL dump and copy wp-content folder procedure.

But on one site I wanted to move the WordPress files into a sub-directory. Rather annoyingly (in this case) WordPress uses absolute URLs when you insert images and other media into posts so updating options on the WordPress backend doesn’t change them, so we need to use a little MySQL muscle to fix things:


The above command assumes your using the default wp_ prefix on your tables and the sub-directory you’ve moved WordPress into is named wp. Of course you should always backup your database before any tinkering like this and since all we’re doing is a find and replace you can use whatever you like in the quote marks to change other things in your posts.

You can read up more on migrating WordPress in the Codex

Thanks to calebjones on the WordPress.org forums for this snippet.

Hello three-point-oh

In case you hadn’t already heard WordPress 3.0 is out today. I’ve been using the release candidate on this site and on a clients site I’ve been developing for the last few weeks now and it’s proven to be rock solid, with great backwards compatibility for plugins that haven’t been updated yet.

One of the best features of 3.0 that I’ve been using so far is the new menu panel which allows you to modify a WordPress sites menu, something that previously required rather clumsy plugins that relied on finding page IDs which was tricky for some less technically inclined clients.

I’ve yet to really dive into custom post types and taxonomies – two new features in 3.0. But they look like they could really simplify entering more customised data into WordPress, something which takes WordPress much closer to a full CMS and makes it more non-techy friendly.

You can take a video tour of some of the other new features below:

[sublimevideo class=”sublime” poster=”http://www.der-prinz.com/wp-content/uploads/2010/06/thelonious-wordpress-617×289.jpg” src1=”http://videos.videopress.com/BQtfIEY1/thelonius1706_hd.mp4″ src4=”http://videos.videopress.com/BQtfIEY1/thelonius1706_fmt1.ogv” width=”630″ height=”354″]

Stop Google Analytics from counting Admin visits on WordPress

As a designer one of the most annoying things about developing and maintaining a WordPress theme is that Google Analytics counts every visit from your machine, even when your just working on an offline development sever as I do. This is especially crucial when a site is launching and all the visits from the local server can throw your stats way off, as seen in the image here.

There are a few existing ways to stop Analytics from counting your visits, one of the best is by using this method on HubPages that gives your browser a name and then creating an exclude filter on Google Analytics.

It’s a good method but it doesn’t work cross-browser and involves some tinkering on the Analytics backend. The method I use, uses PHP to check if the current user is an Admin and inserts a link to the WordPress admin panel. If the user isn’t an Admin it loads the Analytics code instead.


Don’t forget to change the UA-000000 to your own Analytics ID. You can change the first line to exclude Editors and Authors by changing the current_user_can function, have a look at the Capability vs. Role table in the WordPress Codex. You also can completely remove the second line if you don’t want or need a link to the Admin panel, but I found it a useful visual indicator that the code was working.

Back once again


I’ve returned to blogging after a 2 year break. I hope to bring more of the same reporting from shoots plus some comment and views on the photography world.

This is also to co-inside with the relaunching of my site with brand new and much easier to maintain backend software. Before I was manually editing a xml file every time I wanted to add images, it was also quite slow to go through images so was more of a showcase of my work.

But now I’ve redesigned and rebuilt the whole site from the ground up things are looking a lot better. For the curious the gallery software I’m using is ZenPhoto and the blog is of course running on WordPress