ūüĎč I'm Mike, a software developer at Automattic, building things with PHP & React, for WordPress & WooCommerce. I write about my hobbies and the projects I work on.

WooTrip Cape Town 2012

Last month WooThemes hosted their annual WooTrip. 16 staff, myself included, jetted in from all over the world (woo span 7 countries now) to meet up in Cape Town, South Africa (headquarters!) for a week of team building.

After a¬†gruelling¬†11 hour flight from¬†Heathrow¬†(my first time on a plane so it wasn’t a¬†pleasant¬†experience) James, Andrew, Coen, Dan and I landed first in Johannesburg and then transferred to Cape Town on a second 2 hour flight.

View from the villa

Before departure I was hesitant to go to South Africa – I’d heard horror stories about crime etc. When you get to Cape Town one of the first things you see are the slums by the airport, but boy, once you get past all that (around the mountain) Cape Town is simply stunning.

Cape Town even has penguins

We were staying in a really nice area called Camps Bay with Sea Views out front, and Table Mountain out back. The villa was awesome – a pool, nice rooms and of course an xbox and enough muffins to feed an army.

Although it felt like a holiday, we couldn’t leave all our customers standing! We had many a support sprint to keep on top of things and that wasn’t too bad – its better to do support when you can ask others around you, or have a moan and a joke about certain tickets :p

Some of the scenery near the penguins

We had day’s workshop in the office, discussing ways to make Woo better for us and for our customers. This was pretty fun – we all pitched our ideas and I felt this was very productive.

Beyond work we did plenty of activities. Paintball, boat trips, wine-tasting, trips up the mountain, seeing the penguins, surfing, even football in the scorching 30 degree sun.

The food in cape town was a special treat – I’ve never ate so much steak and seafood in the space of a week. It certainly bested pot noodles and beans on toast ūüôā

My favorite activity (aside from eating all those steaks) was probably the paintball – nothing beats shooting your co-workers ūüôā Sadly I was the victim of friendly fire however (looking at you Benbow).

It was really great to meet the whole team. We were able to share ideas, brainstorm and bond. For the most part we started off strangers, but by the end of the week it was like a big ninja family.

The team outside headquarters

Special thanks to Adii, Mark, Magnus and Dom for organising everything and making the trip possible. I look forward to seeing what we all do next year (and by then I’m sure the family will be even bigger!).

More on the trip from Woo: http://www.woothemes.com/2012/11/the-wootrip-recap/

Released a small stats plugin for WordPress developers

Today I released a small (but hopefully handy) plugin called WP Page Load Stats which I created to help benchmark a few other plugins I’m working on.

The plugin works on both admin and on the frontend and displays:

  • Memory usage¬†, peak and percent
  • Page load time
  • Average page load time
  • The query count

Averages are calculated on each load, and you can reset the average by clicking the reset icon.

Off to WordCamp this weekend

This weekend I’ll be heading up north to Edinburgh for¬†WordCamp UK, meeting fellow WooThemes colleagues¬†James¬†and¬†Coen¬†(Coen for the first time). This will be my second WordCamp following Portsmouth last year.

Coen will be speaking about the¬†State of WordPress &¬†eCommerce in 2012 on the main stage which should be good. He’ll cover various eCommerce solutions (including WooCommerce of course!) for WordPress and talk about the benefits and drawbacks of WordPress as an eCommerce platform.


Last year’s WordCamp was a blast so I’m¬†definitely¬†looking forward to the event. I may even get Jay to try some Scottish¬†delicacies¬†like tasty nutritious¬†deep fried Mars bars. mmm

Be sure to say hello if you see us around ūüôā We’ll probably be carrying some Woo goodies for you to pillage.

add_menu_page supports decimal positions

When adding top level menu pages to WordPress admin (using add_menu_page)¬†more often or not you’ll end up conflicting with other plugins. When two plugins share the same menu position, one is not shown:

WARNING: if 2 menu items use the same position attribute, one of the items may be overwritten so that only one item displays!

Since there are a limited number of integer positions in the menu this could be a problem, however, handily WordPress actually supports decimal positions. In this example I’m using ‘55.5’ instead of 55. This should reduce the risk of conflict significantly:

$main_page = add_menu_page(__('WooCommerce', 'woocommerce'), __('WooCommerce', 'woocommerce'), 'manage_woocommerce', 'woocommerce' , 'woocommerce_settings_page', null, '55.5' );

Note that the codex and the source state that integers should be used, even though the decimals do work. Kudos to Gary Jones for pointing this trick out.

Finally fixed the flicker

Since developing my site’s theme there has always been this annoying browser bug causing a ‘flicker’ whilst rolling over any element with a css3 transition. I’ve finally found a decent workaround which involves adding 1 line of css:

-webkit-transform: translateZ(0);

This triggers the GPU to do the animation rather than the CPU and has fixed my flickering, as well as making the animation look smoother.

This line needs to go on the un-animated state, so in my case I applied it to the elements themselves rather than the :hover.

Kudos to Mauricio on Stack: http://stackoverflow.com/a/9727924

The WooCommerce Xmas Bundle

Don’t miss the offer we at WooThemes are running up to Christmas – 3 WooCommerce themes¬†and 8 extensions¬†(including Jay’s super cool responsive Argentum theme and¬†the ever popular table-rate shipping extension) for just $150. If you’ve been waiting for the right moment to jump onto the WooCommerce bandwagon nows the time!

I’d like to close with a massive thank you to all of our contributors, users, supporters, and the WordPress community as a whole¬†‚ÄĒ¬†Merry Christmas and a happy new year!