Experiences WordPress

WordCamp Cape Town 2018 is over, now what?

Last weekend marked the beginning of the end of my journey as lead organiser of WordCamp Cape Town. Over the course of the past two years I’ve worked with an amazing team of local volunteer organisers plan and execute our yearly WordPress conference.

The question on my mind as I wind down from the joyride that is planning a WordCamp is, what next?

So what I do know, is that I am not going to jump straight into the next big thing. Planning a WordCamp is time consuming and mentally draining, so I’m going to take a break from my contributing activities for a few weeks to recover. There are also a bunch of small WordCamp wrap up related tasks I need to complete anyway.

Once that is over however, I’m looking forward to resuming my community deputy duties, namely meetup vetting and orientations. I’ve also applied to be a WordCamp mentor, so I look forward to helping another lead plan and execute their WordCamp next year. 

Besides that, the next big thing that I’d like to help with is the next Global WordPress Translation Day. I hosted a very small translation meetup during the 2016 event, but I’d really like to plan a much bigger meetup for the next one. We have 11 official languages in our country and it would be amazing to mentor local volunteers and help them get WordPress translated into their own language.

Development Freelancing WordPress

Slides from my talk at @wordcampjoburg #WCJHB

The slides from my freelancing talk at WordCamp Johannesburg

Development WordPress

WordCamp Johannesburg 2018 – Workshop prep

On Thursday the 25th of October 2018 I will be presenting a workshop titled “Turning your WordPress plugin into a SaaS”, where I will be sharing some insight into connecting a WordPress plugin to a Laravel App through HTTP requests.

As with most workshops, there is some preparation work required to attend. However because we are dealing with two different platforms, (Laravel and WordPress) setting it all up might take a bit longer than usual.

TL;DR – Requirements:

This article is aimed at folks who a) have never set up local development environments or b) have only ever used applications like WampServer or Mamp for their local development. If you already use something like Vagrant or Docker environment, you probably don’t need this article 😉 It would however be good to skim through it to make sure you have a set up that matches my own.

1. WordPress environment.

To participate in the workshop, you will need a local WordPress environment. Make sure you have the latest version of WordPress installed (4.9.9 at the time of this article).

If you use WampServer or Mamp, you should be fine, as long as the WordPress install can be accessed via a local IP address (we’ll get to that in a bit).

My recommendation would be to try something like, or my own BossBox. These are pre-configured WordPress ready Vagrant boxes that replicate a Linux server and any installed software you might need. If you already use VVV, this is also a good option.

To install any of these options you will need to install VirtualBox and Vagrant first. Each project has instructions on how to set up and run your WordPress install. Obviously I favour BossBox, because I built it and I know it works well out of the (ahem) box.

What I like about a Vagrant option is that you can configure each instance with it’s own IP address, which makes it easier to develop and test API end points on two different instances at the same time, which is what we’ll be doing in the workshop.

You will then need to download and install the base plugin we will be using, which you can download from this link.

For the purposes of the workshop, my WordPress environment will be using the default IP address which ships with BossBox, which is

2. Laravel Environment.

Firstly you’ll need to follow the installation instructions to create a new Laravel project.

Then you’ll need to choose which local environment you use. There are a few options to for setting up a local Laravel environment, the two most popular being Laravel Valet and Homestead.

Laravel Valet as a Mac only option, that requires very little in the way of set up. The only downside is if you don’t own a Mac, you can’t use it. I develop on a Linux OS, so I can’t speak for if it will be sufficient for the workshop, but I don’t see why it wouldn’t. As with the Wamp or Mamp options I also don’t know if you can configure the Valet set up to a local IP address.

The option which I prefer is Homestead. Again, it is also a pre-built Vagrant box, so if you go with one of the Vagrant options for WordPress you already have the required software installed. If you do go this route, I suggest using the Per Project installation method, which is the one I’ll be using for this workshop.

For the purposes of the workshop, my Laravel environment will be using the default IP address which ships with Homestead, which is

A note on Vagrant options: because these pre-built virtual Linux web servers, they can be quite large when you first download them. BossBox is around 750mb (the last time I checked) and the Homestead box is almost double that. So make sure you have a good internet speed and enough data to complete the downloads. If you only use mobile data, I recommend visiting an internet cafe or WiFi enabled coffee shop or co-working space. It’s also the reason I suggest you do this before you come to the workshop, as downloading everything during the workshop is going to take too long on conference WiFi. The upside is that once they are installed, you use the same installed base box for every other instance you set up.

3. Database Access

You will need some way to access the database for both set ups.

If you use the BossBox route for your WordPress setup, you can access the database via PHPMyAdmin, which comes pre-installed on the box. You will find details on how to do this in the project readme file. If you go with the Homestead route for Laravel, you can use an application like MySQL WorkBench. For the Laravel app the defaults are:

  • Hostname –
  • Port – 3306
  • Username – homestead
  • Password – secret

For which ever set up you choose, make sure you can connect to and view the database for both.

3. API Testing – Postman.

Postman is an application for testing software API’s. We’ll be using it to test the API end points we create during the workshop. To make sure your WordPress and Laravel environments are accessible to each other, test them via Postman.

In order to test them, you need to install Postman and create two new requests, one for WordPress and one for Laravel. Set the URL for each request to the IP address for both WordPress and Laravel. You should see some html data returned, which means Postman can send a request to either one.

4. Code Editor/IDE.

Obviously we’ll be writing code, so we’ll need a code editor. If you are already writing PHP code you probably have an editor you prefer, and that’s great. If you don’t I can recommend Visual Code Studio (free) or PHPStorm (paid). PHPStorm comes with a free 30 day trial, so if you’ve never tried it, now is a great time. I’ll be using PHPStorm in the workshop.

Experiences WordPress

WordCamp Cape Town 2017

So last year I blogged about my list of resolutions for the new year. As with most resolutions it was a long list of the things I want to do differently in the new year, with very little grounding in reality. Reading that post now I can’t help wonder how I thought I was going to manufacture all that extra time!

Two days ago I sat staring at all the Make Slack channels I had joined in the course of the year and the realisation dawned that I was trying to keep too many fingers in too many pies when it comes to contributing to WordPress.  It struck me that I had to choose one (or maybe two) avenues within which I want to contribute back to WordPress this year and focus my spare time on those.

What I didn’t realise then, but I do now, was that I had already made the decision of what to focus on this year, merely by my actions last year, things that had already been set in motion during 2016. Once I realised that, it was very easy to leave all the other channels and look ahead to my journey with WordPress in 2017 with renewed purpose.  That purpose, building the community.

Which leads me to the real point of this article, an announcement I’ve been sitting on for a few weeks now and one that I’m happy now share with the world. I’ve applied (and been accepted) as the organiser for WordCamp Cape Town this year. It is a role I didn’t expect to take on until 2018 but circumstances have sent this my way and I’m happy to take on the challenge.

I’ll be blogging about my experiences here, mostly to record the journey from my own perspective but hopefully to educate and inspire others to either join, start or become a part of their own WordCamp’s around the world.

So here’s looking forward to WordCamp Cape Town 2017. Hopefully I’ll meet you there and we can share a WordPress story, or even just a coffee.

Experiences WordPress

4 WordCamps in 4 Months

Last year at WordCamp I decided I would speak at the next one, this year I did just that. So when I heard that there would be 3 new WordCamps happening in Africa this year (one in Johannesburg, one in Nairobi and one in Harare) I decided on the spot I want to attend all three.

In deciding to do this I realised that, with my attendance of WordCamp Cape Town in September, I’d effectively be able to attend a total of 4 WordCamps in 4 months (Johannesburg in November and Nairobi and Harare in December). The downside (as always), finding the money to do it.

As a self employed developer finding $2000 – $3000 to cover flights, accommodation and general expenses for the three extra trips is not easy. As such I am reaching out to the greater community, in Africa and internationally, to assist me in my plan.

Over at Elegant Marketplace I developed a really small plugin (that was released for free) which simply adds a ‘Next’ and ‘Previous’ link at the end of every blog post. For the month of November I’ve changed the pricing model to a ‘choose your own price’ option, with a minimum of $2 and a suggested price of $5. Elegant Marketplace has kindly offered to give me the full proceeds of the sale of this plugin for the month of November, waiving the usual management fees I pay for my other products.

If I can get 600 people to buy this plugin I’ll be able to cover the costs of my trips. Even if you never use the plugin, or you could really write one your own, I’d appreciate your support in making this trip possible.

You can read more about the trip and how it came about in my Elegant Marketplace blog post or you can just go ahead and buy the plugin here.


Experiences WordPress

A friendly challenge to all WordCamp Cape Town 2016 Workshop Speakers

It’s Sunday morning 11 September and I am still coming off of the high that is WordCamp.

However, one thing makes me sad. Due to constraints the day 1 workshops were not filmed. While I do understand the logistics of this and why it was not possible, I gets me thinking that it would be amazing if there was some way to still capture this information for those who attended, or better yet, those who could not make it.

And then it hit me. We live in a digital age. There is nothing stopping each and every workshop speaker from taking an hour of our their day, recording their own session and uploading it to YouTube.

So, if you were a workshop speaker on day 1 of WordCamp, I challenge you to redo your workshop in the comfort of your home or office, record it and share it with the world. If your workshop was fairly seamless ( we’re looking at you Konstantin 😉 ) then it will be really easy. If, like me, there were things you could improve to help fit it into 1 hour, then make those changes and record your session.

I’m letting Steve and Danielle off the hook, I’m not sure they could record their talk and recreate the magic without an actual audience. 😉

I also already know Chris Muller is off the hook, as his team filmed his talk for him. So Chris, you are first up, upload the video, share it and inspire the rest of the community to record theirs.

You can expect mine by the end of the week!



UPDATE 2 : Here is the recording of my talk from the day

UPDATE 1: Just for fun I’ve uploaded a preparation recording of my talk, recorded in my car during the drive to day 2 of WordCamp. There are some minor errors in the recording as well as some background noises. Also some parts of the talk changed on the day, but the general gist is the same.

Listen on SoundCloud.

Slides from my Day 2 lightning talk at WordCamp Cape Town 2016


The ball is in your court from Jonathan Bossenger
Divi Experiences WordPress

WordCamp Cape Town – Day 1

So day one of Word Camp Cape Town is over. It was quite a whirlwind of a day, but I thoroughly enjoyed every moment of it.

My WordCamp experience actually started on Wednesday night, at the VIP dinner. Here I got to meet and chat with a bunch of folk from the local WordPress community who I had only ever ‘met’ online. It’s quite a thing to already have a relationship with someone and then only meet them in person for the first time (I wonder if this is how new Automattic employees feel at their first company meetup?) The vibe was great and I had some amazing discussions with some awesome people.

Today kicked off (after the obligatory 1 hour 20 minute drive from the outskirts of town) with my ‘Extending WordPress’ workshop. It went pretty well, there are some things I could have done better and some things that I nailed, but all in all I had good feedback. It’s always great hearing that people finally understood a specific concept because of your talk and one or two people mentioned that to me, which was amazing.

After that I sat in on Seagyn’s advanced talk on Continuous Integration, Unit Testing and Integration testing. I got to play with Travis-CI and I am excited to start implementing this knowledge into my development work flow

After lunch I decided to stay on the advanced developer track and thoroughly enjoyed Konstantin Obenland’s Settings API workshop. Being able to watch an expert at work is an amazing thing, and Konstantin ‘live coded’ his Settings API example with only one bug (which he fixed in record time) causing him a few moments of quiet contemplation. And I do really mean moments, in the time that it would have taken me to figure out the problem, he’d already figured out the problem and the solution. Amazing stuff.

The day ended with a really fun and interesting talk from Steve and Danielle. I really enjoyed the way that made the entire workshop interactive and interesting. I would have easily listened to a workshop on how to increase your site speed, but they presented it in such a way that they actually made me excited to just go and learn how to do it myself. Well done guys.

Other things that stood our where how many of the local Divi community were present, where ever we ran into each other the obvious topic of conversation was Divi 3.0. I even had the chance to speak to some non Divi users and discuss the theme and its merits with them. I am definitely looking forward to meeting all the Divi Users that are at WordCamp tomorrow at our unofficial Divi Meetup.

All in all day one was pretty special. What inspired me the most was  how full the three different tracks were, I’m looking forward to seeing and interacting with everyone in the single regular sessions track tomorrow



Extending WordPress – a guide to building your first plugin

Slides and plugin GitHub repo for my WordCamp Cape Town Workshop


Extending WordPress from Jonathan Bossenger


Download the plugin from GitHub