Contact Form 7 – Custom Validation Messages

WordPress - Contact Form 7 Contextual Validation Error Messages

In this month’s edition of “well-built plugins”, we’re taking a look at Contact Form 7 for WordPress. Specifically, we’ll be customizing validation error messages on the front end. The popular contact form builder plugin is quite easy to extend, so let’s jump right in.

(more…)

Gravity Forms – Dynamic Confirmation Redirects

Gravity Forms - Dynamic Confirmation Redirects in WordPress

Extending well-built WordPress plugins and themes is something I do almost daily. Gravity Forms is a popular form-building plugin for WordPress that I integrate and customize quite frequently. Custom form fields, form settings, and third-party integrations are common requests.

Recently, I had to find a way to handle custom, dynamic redirects on form submission.  The redirect would be dependent on query string parameters provided by an inbound affiliate link.  I was able to quickly create a solution due, in no small part, to the fact that Gravity Forms is a “well-built” plugin.1A “well-built” third-party plugin/theme means that it adheres to WordPress Coding Standards and makes APIs/hooks available to other developers for extending the base functionality, among other things.

(more…)

When Going “Social” Goes Too Far

For years now, the word “social” has permeated every aspect of our online experiences. Integrating social aspects into development projects has been the norm for a long while now. That being said, some actors within the tech world seem to push the boundaries of what is acceptable when aggregating user-identifying data. Results of these aggregations/linkages range from harmless to outright creepy. Such an instance happened to me recently, and I thought I’d share as yet another warning to those who choose to share openly.

(more…)

UpdraftPlus – Exclude WordPress-Generated Image Thumbnails From Backups

Updraft - Exclude IMage Thumbnails From Backups

I had a call this week with a client who manages a few WordPress sites. One of the things they do, like me, is backup files. The plugin they chose for their workflow is UpdraftPlus. The client hosts all of their clients’ websites on one server, so storage space has become an issue. Fortunately, I was able to create a simple solution to mitigate the problem by excluding image thumbnails from automated backups.

(more…)

WordPress 4.9: What’s in it for Developers?

WordPress 4.9. Release For Developers

WordPress has released its 12th update for 2017, and it’s also the second minor version pushed out this year. WordPress 4.9 includes a lot for users. “Tipton” introduces changesets for theme customizations, previewing, and scheduling of theme customizer updates and code editing syntax highlighting, autocompletion, and error checking using CodeMirror. Finally, there’s a new Gallery widget and an “Add Media” button for the venerable text widget.1Days of hard-coding images into the text widget are seemingly over.

As usual with each new release, I look for improvements and additions for developers. Although there isn’t quite as much for developers in this specific version, there are a few key inclusions that I wanted to highlight.

(more…)

Craft CMS: Understanding “Tasks”

Automated, Scheduled "Tasks" with Craft CMS

Craft CMS is still the relatively new kid on the block when it comes content management systems, but I am doing more work with it these days. Compared to the 500-pound gorilla in the room, WordPress, there are a lot of differences. Of course, both have their advantages and disadvantages. As time goes on, however, Craft seems to be taking full advantage of hard learned lessons by other platforms, including WordPress.

Mainly, Craft is still new, and, as such, has a lot of catching up to do in terms of extensibility. That comes as more users and use cases are presented. For example, there is huge disparity in “hooks”, or places for developers to alter core outputs, when comparing Craft to WordPress.

With that said, I do want to talk about a feature of Craft that I feel it handles much better than its counterparts: automated background tasks.

(more…)