Sort wp-e-commerce products by category and product title

The wp-e-commerce shopping cart plugin lets you sort your products by a few different things: name (product title), price, date/time created... but it doesn't let you sort by category name and then product title. Here's what I just came up with for one client; it isn't generic, but other developers should be able to adapt it for their circumstances.

Running QEMU with port redirection through libvirt

Like many developers these days, I use a bunch of different virtual machine images to give me access to multiple development and test environments without having a room full of computers. My VM of choice is QEMU KVM, the kernel-based virtual machine bundled with Fedora. I've always used simple shell scripts to start my VMs, which has allowed me great flexibility, but yesterday I set one up using the nice Virtual Machine Manager (VMM) GUI application. And remembered why I wasn't using it: there's no way to tell it how to do TCP port redirection! But now, there is a way...

Cleaning up WordPress plugin script and stylesheet loads over SSL

It's quite common to use WordPress as the host for an online shop, and that often means having an order page that needs to be encrypted via SSL. You don't want your customers providing credit card details or other sensitive information over an unencrypted connection! But many WordPress plugins don't take SSL into account, and merrily load scripts and stylesheets without encryption. Here's a couple of ways to fix this problem.

Events Manager conditional placeholders for custom attributes

The Events Manager plugin for WordPress is pretty flexible, allowing you to easily add custom attributes to your event posts. It also has conditional placeholders that allow you to display or hide information conditionally. There is a nice tutorial on the plugin website showing you how to add your own conditional placeholders. Lets bring this all together with a conditional placeholder for a custom attribute.

Make CSS drop-down menus work on touch devices

CSS drop-down menus are very popular on sites with a hierarchy of pages. They let you get to where you want to go without having to navigate the pages in that hierarchy. But pure-CSS menus suffer a problem: touch devices often can't show the drop-down, because they don't have "hover" and clicking on the top level link goes there. This snippet offers a way around that.