Skip to content

Ecommerce in WordPress

Dear Reader,

The Problem

Regular readers know that back in November I put on a one day virtual conference titled Day Camp 4 Developers. Part of the deal was that all ticket holders got free copies of the recordings. It sounds like such a simple thing; just put them up for download, right? Not really. Let’s look at the actual requirements.

  1. Shopping cart to allow me to eventually sell the videos.
  2. A way to let my existing ticket holders “buy” them for free. (Coupon codes)
  3. A way to keep the real location of the files hidden so people don’t just go download them.

Those were the biggest items. Beyond that I was willing to either sacrifice or code it myself.

The Solution

I looked at a lot of shopping cart solutions ranging from the horrible to the expensive. I really wanted to go the open source route, not because I’m cheap or don’t believe in paying people for their work but I knew there would be needs I had that I would have to code myself. In that case, I wanted to be able to contribute back to the project. (Assuming they wanted the code, I wrote)

I ended up with eShop. It’s good, not great. It meets all 3 requirements, although I did have to help it along in a couple of places. I looked at the code, again, good, not great. It amazes me that after watching the PHP community scream “filter input, escape output!” so much that some developers still don’t. I had to add some filtering and a lot of escaping to get the results I wanted.

In the end though, it did the job. Like the other tools I used for DC4D, I could have written a more tailored solution myself, however, it would have take me a lot longer to get the job done and get the video’s up.

Side Note: I am so used to community projects being the norm that it surprises me when I find a project that is not community based. eShop is a single developer building a project. There is no repo for eShop and no way to submit patches other than just email them to the author. He has a forum for the project and it’s active enough to let me know people are using the product but there is no developer community working with him to mantain and enhance the project. It makes me sad. For those interested, no, he did not accept my patches but only because he didn’t want to take the project in that direction. I eventually forked it for my own use because I’ve modified it enough now that upgrading to future versions is a pain.

Conclusion

WordPress (“The word press” as one of the lovely and talented Kathy’s bosses used to call it) was never designed for ecommerce. Any solution is a bolt-on and feels like it. However, eShop is a good solution if your needs are modest.

Until next time,
I <3 |<
=C=