Unit Testing Your Plugins with Dockunit

unit testing, development tutorials, plugin development, developing a plugin, testing a plugin, testing your development, development tutorials, plugin development, learn to develop a plugin, WordPress tutorials, WordPress 101, how to develop in WordPress

I think we can all agree that unit testing is pretty neat.

An automated system for checking if your code changes break any functionality is almost magic, and if you aren’t sure where to get started with it, you should read my previous post Unit Testing Your Plugins.

If you’ve spent some time on Github, you’ve probably heard of TravisCI, a continuous integration service that automatically runs tests for every commit and pull request on your repository. It’s super cool, very easy to set up, and free for open source projects.

One of the best parts of TravisCI is its ability to run your tests in multiple environments. In one go, you can test your plugin on several versions of PHP and WordPress and catch edge cases you might run into in versions you don’t develop on.

Our plugin generator by default sets up a TravisCI configuration so without any work on your part you can have your plugin tested on multiple environments for every commit. The one issue with TravisCI is you can’t easily run these tests locally, so you won’t have an idea of if your tests will run properly on all environments until they are pushed to GitHub.

Enter Dockunit

Dockunit is like a offline TravisCI. It uses Docker to create local compartmentalized testing environments so you can easily run your tests on whatever setup you want. Docker is a container based system for running applications bundled with their dependencies. I’m doing a poor job of explaining it fully, but it’s really interesting and if you like virtualization and dev ops stuff you should take a look.

Continue Reading

Getting Started with Flexbox: First Impressions, Tips, & Tricks


Recently, here at WDS, we started incorporating Flexbox into our projects. I wanted to share some great resources I’ve come across to get going with Flexbox and highlight some of the early first impressions and some of the struggles you might encounter along the way.

And, if you want to see just a few examples of some of the types of stuff we’ve been creating with Flexbox, be sure to check out our WebDevStudios Codepen page.

Continue Reading

Another Two Devs Join the WDS Team: Meet Shannon and Carrie!

Carrie Forde, Shannon MacMillan, WebDevStudios, WordPress developers, WordPress development, WordPress web development, WordPress web design, WordPress site, build a WordPress site, someone build my WordPress site, learn WordPress, learn WordPress development, find a WordPress developer, best WordPress developers

Shannon MacMillan

Shannon’s illustrious web development career began in 2006 with a $100 online class in HTML/CSS, intended to supplement her (non-)income as an actor/theater director in NYC. She took the leap into WordPress a few years later (v. 2.8.2) and never looked back. In 2012, she left all of her weird-actor-side-jobs to freelance full-time as a front-end developer, met some really cool collaborators at a WordCamp, and thus started down the path towards maintaining a reasonable standard of living.

She loves to teach people about WordPress, and frequently leads workshops for businesses, artists, and actors about creating and maintaining WP sites on their own. A graduate of the Dell’Arte International School for Physical Theater, Shannon can now claim fame to literally teaching clowns how to make websites. She recently started delving deeper into the code and is now a little obsessed with writing plugins and launching apps on WordPress, in addition to her normal addiction to building themes.

When not in front of a screen, Shannon loves totally unplugging via camping or hiking, and also building and making tangible things out of wood or other materials that don’t require code dependencies. When out of the woods, she can otherwise be found at her standing desk with a strong cup of tea, a huge bottle of water, her partner asking if she remembered to eat, and her big black pointer-mix Leopold looking wistfully at her to stop coding and play some Frisbee already.

Carrie Forde

Carrie previously spent eight years wrangling sales data in the tech industry. While on work assignment in the UK, she attended a blogging workshop where she was first introduced to WordPress. After spending several weekends learning about WordPress child themes and customizing her first site, she realized that web development is where her true passion lies.

After moving back to California, Carrie had an opportunity to pursue her passion, and enrolled in a graphic and interactive design program at a local community college. Before graduating her program, she created her first theme on the Genesis framework, and knew that creating easy-to-use websites on WordPress was what she wanted to do for a living.

When she’s not designing and developing websites, you can find Carrie cuddling her three cats K2, Whitney, and Minnie, enjoying a latte or cold brew at a nearby coffee shop, or exploring the greater San Francisco Bay Area with her husband Darren.

You can find out more about them, including where to catch them on social media, on their team pages. Join us in welcoming them aboard!

And remember, we’re still looking for back-end developers who love WordPress!

What Are You Paying For When You Hire a Developer?

why hire a developer, why do developers cost so much, freelance WordPress developers, freelance designers, freelance graphic design, freelance tips, WordPress dev, WordPress, WebDevStudios, Lizz Ehrenpreis

Usually folks hire someone else for a task for one of two reasons:

They are either short on time or skill. In particular, when it comes to creative works like design, development, writing, marketing, et al., it means you’re also paying for a unique perspective that informs and elevates the skill at hand. The professional you are looking to hire has something you don’t and you want a piece of it because it will improve your business, your home–your life, in some way.

Some of this may seem simple to an outsider, but it’s a professional’s job to make whatever they are doing look easy–a surprisingly uncomplicated task when interacting with someone who isn’t well-informed about what the work actually entails. If you are looking at all this going, “Hmmm, it can’t be that hard,” you might be wondering why the hell a developer’s rate is so much more than you anticipated.

Continue Reading

The PHPStorm Debugger is Pretty Awesome


In a previous post, I wrote about how awesome PHPStorm is in the context of being a front-end developer. In this post, we are going to look at getting the PHPStorm debugger setup to work with Xdebug and then test it to make sure it’s working!

In my opinion, one of the most overlooked and underused features of PHPStorm is its debugger. I’ve only just recently started to learn about it and use it. One of the biggest reasons it is underused, even by developers who are already using PHPStorm, is because setting it up can be a confusing process if you’ve never done it before. Despite how it may appear, it’s very simple to setup, and once you do it a time or two, it’s something you can do in just a few short minutes.

The PHPStorm debugger will make you never want to use a var_dump() ever again!

I currently use Vagrant for my development environment which comes prepackaged with Xdebug. If you’re using something else like MAMP or XAMP, you’ll need to make sure you have Xdebug installed and activated.

Continue Reading

How to Avoid a Server Apocalypse

developer mistakes, development mistakes, development lessons, web development, server mistakes, protecting your server, protecting the server, backing up your server,
As we all know, running an un-managed server can be a hassle. There’s always something you’re not prepared for–and that’s what my story is about!

Sometime ago I was dealing with brute force attacks, and during that time, I thought it was fun to out-wit my attackers. Admittedly, for a while, it was. Down the road I went, with CloudFlare to handle most bots, as well as some general security measures of my own such as moving my login, disabling XML-RPC, installing WangGuard, and a few other scripts I wrote myself.

Lately, I’ve been getting more into actual system administration and learning the ins and outs of a Linux server environment. I started out with Apache (xampp) and evolved into a full-blown dedicated system in Canada. This server holds two Minecraft servers, my remote development environment, my personal website, and a few random databases I use for various side-projects.

On Wednesday March 30th, 2016, my MySQL database filled up, thanks to a sizable database file (1-2 GB) from one of our clients. Historically, during development, I try to mimic the live site of a client as closely as possible. This ensures there aren’t any data integrity issues and guarantees I’m not missing anything.

Well, I realize 1-2 GB isn’t that large when it comes to a database, but considering the fact that I had been working on multiple other projects at the time, as well as my personal data, and add that to the fact that a properly configured Minecraft server can create a significant amount of data in the database with the right logging software.

Well. Whoops. Server apocalypse.

Continue Reading

5 Steps to Creating a Better Landing Page

creating a landing page, how to create a landing page, landing page design, web design, how to design a site, how to design a landing page,

If you’re a designer with some online experience, you have probably already created a landing page or two in your time. Obviously, without a proper strategy your lander won’t convert, but for the sake of this tutorial, we’re going to assume you already know that, and have the experience to handle that. This tutorial is going to focus on landing page workflow, as opposed to high level strategy and discovery, which is just as important.

Continue Reading

What WDS Did During Five for the Future: May 2016

WebDevStudios, WordPress community, open source community, Five to the Future, WordPress developers, WordPress contributors

Although contributing to the open source–and specifically, the WordPress–community has always been a central component of WebDevStudios’ philosophy, it wasn’t until October of 2014 that we figured out how to formally contribute as a full company. We started participating in Five for the Future, where we designated 5% of WDS working hours to giving back to WordPress. Since many of our developers are passionate about WordPress, it wasn’t difficult to get everyone on board, and a bunch of cool things have come out of the time we’ve spent on it!

Last month, we started detailing the 5FTF goodies we finished up, and decided to keep it going! Here’s round two!

This past month, we worked on a few projects during May 5FTF time that we thought you might like to hear about:

Continue Reading

Upcoming Webinar: Why Enterprise Companies Should Use WordPress

Brad Williams WordPress Enterprise

As many of you know, our team is filled with folks who love going to events, both WordCamps and otherwise. In particular, our executive team is well-known for organizing and presenting at events across the world, and their eclectic backgrounds have given them a lot to share! Conferences are challenging, though, and can be limiting, both for speakers and attendees alike. Not everyone has the means to travel and attend events everywhere. Thankfully, the age of the internet has given us other options for accessing the wealth of info that folks share at events.

Our CEO, Brad Williams, has shared his experience growing our company and working with WordPress in the enterprise space live, and now we’re bringing this to you–no travel expenses required!

On July 18th, we will be hosting a webinar featuring Brad discussing why enterprise companies should use WordPress.

We’ve worked with many enterprise companies who have made the move, and our experiences have taught us, firsthand, about the unique apprehensions and proliferation of myths regarding what WordPress can or cannot do for them. Brad is going to be talking about those myths and sharing about why open source platforms are the future for massive companies like Microsoft, Skype, Campbell’s Soup, and more.

Want to get in on this? We know you do!

Here are the details:

Why Enterprise Companies Should Use WordPress

Date: July 18th, 2016
Time: 1 PM – 2 PM ET


The webinar is totally free; all you have to do is sign up! For those of you who can’t make it day of, we will be providing a recording of the talk as well–just make sure you put your info in beforehand so we can send it out to you afterward.

We hope to see you there (and psst…if there are any questions that are pressing now and that you’d like to see addressed, drop them in the comments)!

Preserve WordPress Sites for Future Generations


WordPress makes up 25% of the internet, which is huge, and we need to make sure we can preserve WordPress sites for future generations. WordPress, by nature, is dynamic. The majority of content is produced by PHP and compiled at run time. Exporting and preserving an entire WordPress site as you see in the browser isn’t easy. I’ll outline in this post reasons and a method of exporting an entire WordPress site as a working backup.

Over the past few years, there has been a resurgence of simplicity in website design and development. One strategy for doing this is relying on static site generators. A static site generator takes dynamic content and exports into a static format, so that every web page is a .html file that contains pretty much all it needs to survive forever.

Continue Reading