I recently built a WordPress site for an artist named Jerry Cave. One of the interesting aspects of the job was that he wanted to sell both originals and prints of his work on the site, but he expected his sales volume to be low, and didn’t want to spend the money to have me install, configure, and maintain a full-fledged e-commerce plugin like Woocommerce until he saw how many sales the site generated.
He had a point. Not only would an e-commerce plugin cost more in terms of development than what we ended up doing, but they tend to consume a significant percentage of CPU and memory to run. In the P3 Plugin Profiler breakdown at left, you can see that Woocommerce is consuming more resources than the WordPress core on the site tested. It’s not surprising. Woocommerce is an impressively powerful plugin, but sometimes it’s overkill.
What Jerry and I ended up doing for his site was to use a combination of WordPress’ core functionality allowing hyperlinks in image captions and Contact Form 7‘s capability to accept values from $_GET variables to come up with a low-tech solution that will allow him to make sales from the site.
In the site’s galleries, the captions for each art work contain information about the works as well as links to buy the original and prints. To make it easy for Jerry, who is not a coder, to add images himself, I set up an online tool that generates the raw HTML for the captions. It’s a simple cut-and-paste to add them to the images in the media library, and the tool maintains the format he chose for the data.
When a customer wants to buy an item, they click the corresponding “buy” link for the work. They’re taken to a pre-filled contact form listing the work they want to purchase. The email goes to Jerry, who adds their name and address to Square, and sends them an invoice. Once they pay the invoice, he ships their merchandise. He never has to deal with credit cards himself or pay for a payment gateway and merchant account.
The one downside to the approach is that it takes an additional step compared to an e-commerce plugin’s usual checkout process, but Jerry expects the negative effect to be negligible with his clientele. It would be easy for someone to spoof the URL to the contact form to alter the price of a work they want to buy; however, Jerry plans to verify the prices as the orders come in, so it’s not a significant issue. The price is only included for the convenience of the customer.