Imagine coming home from a long day of work. You open the front door, set down your keys, take off your shoes, and then see a present on the kitchen table. If you have a partner living with you it's probably a nice gesture of some sort. But what if you're the only person with keys to your home? Then it gets creepy right?
That's what I experienced today. Not with my home but with my site.
Finding the Present
Shortly after WordPress 4.1 came out I accidentally pasted a link in the text editor. I saw a loading animation and then the code sample popped right into my code editor. Awesome! WordPress 4.1 must have added oEmbed support for gists. That makes it that much easier to copy code samples into my posts. That means that I can remove the plugin I used to use to do this for me.
I went into my site this afternoon to do a little maintenance and replace the shortcodes I had to use with the older plugin. And this is where it gets a bit weird. On my test site I had the exact same version of WordPress, no plugins activated and it wasn't working. That means that WordPress doesn't handle this. Somehow a feature got added to my site and I have no idea how. Think back to finding a present on your kitchen table. It's a nice idea but not when it's unexpected.
Who Delivered the Present?
It took a 21 minute scavenger hunt but I did manage to find the culprit. It's actually one of my favorite plugins that's had some trouble in the past. I love Jetpack. It add's a lot of value to my site but what I don't like is when they add functionality without telling me. They've broken their plugin into dozens of modules which you can turn on and off. One of those modules is Shortcode Embed.
If you're familiar with the WordPress world you probably know that shortcodes are kind of a user friendly version of code. It's sort of readable and it's basically a placeholder for some sort of extra content. Meanwhile oEmbeds you just paste a link into the editor and it loads it. By comparison, it's very user friendly. It's kind of like the difference between taking a chairlift to the top of a mountain versus teleporting to the top of the mountain.
Now when you're looking for the engine that powers the teleporters are you going to look in the chairlift shack? Hell no. During my 21 minute scavenger hunt I actually found the module and looked at the description. I decided to not disable it because I was confident that it wasn't the culprit.
Leave Presents at the Door
With WooCommerce 99.9% of users will need us to automatically create the cart, checkout, and my account pages for them. But we don't do this automatically. We let the user know that we're creating pages. That way when they see extra pages in the WordPress admin they don't freak out. They know exactly why they were created.
So here's my plea for developers. Don't do anything without informing the user. Just because it's obvious to you doesn't mean it's obvious to anyone else.
Image credit: Giphy