WordPress is_ssl() doesn’t work behind some load balancers

WordPress has a function is_ssl() that it uses to check whether a page is loaded with the HTTPS protocol, so that it can use the same protocol to load scripts, stylesheets, and other assets. It relies on the web server giving it a couple of clues, but when your website is hosted behind a load balancer, those clues aren't always available. In particular, websites hosted by Network Solutions get no clues at all when pages are loaded over HTTPS.

Stop Events Manager from cropping thumbnails

Events Manager gives you a special placeholder that you can put into its templates, for inserting the event's "featured image" into lists and single event pages. If you want to insert a thumbnail, it uses the timthumb script to create one on the fly -- but it crops that thumbnail. Here's how to use the WordPress uncropped thumbnail (or any registered image size).

Overview of building custom fields for Gravity Forms

Gravity Forms is a great way to build all sorts of forms in WordPress. It can be so simple that non-programmers can easily build their own basic forms. It's also incredibly flexible so programmers can extend it in myriad ways, even by adding some complex custom fields of their own. But as usual, there's a trade-off -- ease of use for non-programmers means lots of hoops to jump for programmers. Here's an overview of how I built some fairly complex compound fields for a custom application using Gravity Forms.

Events Manager locations map with directions

Events Manager is my events and bookings plugin of choice for WordPress, because it is very flexible, easy to integrate into a theme, and has hooks galore for customising to suit almost any requirement. Its location map doesn't offer a way to provide directions, however. So, here's how to replace the Events Manager locations map with WP Flexible Map and get a directions link on location pages.

Classic ASP, MySQL and UTF-8

Countless references on the web will tell you that you can access Unicode data in MySQL by setting the connection character set to utf8. Mostly, they tell you to execute the statement "set names 'utf8'" as the first statement in your connection. But when you are accessing MySQL from Classic ASP using the MySQL ODBC driver, you get an error: "SET NAMES not allowed by driver". Here's how you actually do it in Classic ASP.

Repair WordPress image meta

There are times when things just go wrong. I had one of those times the other day. The pressure was on to deliver a project, and there were bits of PHP and CSS and JavaScript flying everywhere here at WebAware Central. And so it happened: I wiped the image attachment meta data in the WordPress database.