During the design phase of the new OptinMonster SaaS we realized that there was one killer feature that could set us apart from our competition. It wasn’t more beautiful themes, a super-duper form builder or a brand new type of optin form. Don’t get me wrong. All of those features are important to us and are in the works, but…
Our killer feature is outstanding customer support. Continue reading Improving the support ticket submission experience
Do you know what I hate the most about CSS? Styling form elements.
Yes, most browsers provide some sensible defaults, but clients never seem to want those in their designs. Good luck getting the form to look the same across all browsers. Some even say it’s downright impossible.
Do you know what I loathe about CSS? Styling dropdowns (select elements).
It may be simple to style the select box itself, but what about the options? As far as I know, no browser provides a way to do so.
On a recent client project the designer requested custom styling for both the select box and its options. After throwing a fit for 30 seconds I went to work on finding someone who had been kind enough to do this for me. Eventually I came across Select.js from the wonderful team at HubSpot.
Here’s my client’s form after Select.js has been applied:
If you’re looking for something geared towards more complex dropdowns, take a look at Chosen from the Harvest team.
PHP arrays are great when you’re working with simple data structures, but what if you have a collection of objects that needs to be treated as an array? The ArrayObject class included in Standard PHP Library (SPL) is an excellent solution.
Continue reading Using ArrayObject with WordPress Transients
A show of hands, please!
For those of you who distribute their own plugins, who enjoys selecting your plugin files and directories, compressing them and then uploading that zip file to the server for distribution every single time you wanted to release a new version?
Continue reading Packaging your WordPress plugin with Grunt
My love for Varying Vagrant Vagrants is no secret. Just like Franks Red Hot, I use that s*** on everything. I started using it back in the summer of 2013 and haven’t touched Mamp, Xampp, DesktopServer or Parallels since. Why would I bother when I can have a perfectly configured WordPress installation in two terminal commands?
Continue reading Easy-peasy sites on Varying Vagrant Vagrants
My little plugin that I created for a former employer, Multisite Maintenance Mode for WordPress has finally been updated. This latest update takes care of some long-standing requests from users in the support forum as well as some emails directly to me. For those who waited so long, I apologize.
Why should you use this plugin?
Many maintenance mode plugins block the content for all visitors. This isn’t terribly useful, especially if you have a high traffic site. More traffic = more money. Most of the time you only need to keep anything in the database from changing. This plugin does just that for WordPress multisite installations.
- Added internationalization functions to all the strings.
- Added a
.pot file to allow others to translate the plugin.
- Now using the proper actions to save the plugin settings.
- Fixed ‘Headers already sent’ error upon save.
- Consolidated the PHP for easier maintenance.
- Added filter
mmm_allow_user_with_capability. Allows you to change the minimum capability required in order to access the WordPress backend.
- Ready for WordPress 4.0
If you would like to contribute a translation, go a head and fork the repo then submit a pull request. Otherwise, you can find the plugin on the WordPress.org Plugin Repository
I stared at my laptop in disgust. We had just wasted an hour chasing a problem with a small (but not insignificant) part of our plugin all because we had used a function that wasn’t supported in a certain version of PHP. It was something so simple yet it had a business-halting effect on a number of our users.
Continue reading What I wish I knew when I started developing WordPress plugins
Before we get started, I want to apologize for how late this post has come (My talk was on October 1).
Fact: Starting a project sucks
Kind of. Getting that contract signed and seeing that deposit clear the bank is an amazing feeling. What’s next? Getting the client site setup on your computer. That’s the part that sucks. Let’s think about how most of us started with development environments. XAMPP and MAMP are a great start, but it takes up a good amount of time to setup a new WordPress site. How long does it take you to complete the following steps? Continue reading My Talk on WordPress + Vagrant
Setting up your dev environment for each WordPress project is arguably the most difficult step. You have to setup your server configuration, create the database then install WordPress. But wait, there’s more! After all of that you then install your plugins and themes, then add dummy content. Two hours later you have an environment that doesn’t resemble your production server or have all the tools you need for development.
You are a developer, not a server administrator. There’s a better way.
Join me on Oct. 1 at Improving Enterprises (6:15pm) to learn about WordPress development with Vagrant. I’ll show you how to make the setup process quick and painless while giving you the tools you need for effective development. Not a WordPress developer? Even you will come away with knowledge to help you in whatever language or library you choose.
If you’d like to follow along during the talk, I’d suggest getting your laptop setup in advance
You can RSVP here. See you there!
You’ll need to have two things installed on your laptop in order to follow along:
Yeah. That’s it. I hope you weren’t expecting more.
I just wanted to let y’all in on a plugin I made. I call it Multisite Maintenance Mode. It was done two weeks ago but I’m just now getting around to writing about it.
The idea is simple. You have a multisite WordPress installation with many users making content changes at any given moment. You also have about 1 hour of maintenance to perform and you may lose any database changes made during that time. How do you keep others from making those database changes? Simple.
Lock them out
The plugin is fairly straight forward. Any user who is not a super-administrator is redirected to the homepage when they attempt to access the dashboard. A message is also displayed in the admin bar that directs users to an update page of your choosing. Yeah. That’s it. I’m not saying it’s perfect but it gets the job done.
You can download it from the WordPress Plugin Repository or even contribute some code on GitHub
Let me know what you think!
Update June 29, 2015: Big props to Andrew Kurtis of WebHostingHub for creating a Spanish translation!