WordPress & Ecommerce

I’ve been silent a good while, but not without reason. I’ve been engrossed in several projects of late that have kept me more than busy. One client project in particular has required development that I felt would be useful to the WordPress community at large. So today I’d like to announce a new e-commerce plugin for WordPress that I am looking to release by the end of May or in early June.

As is usually the case, necessity is the mother of invention. I was developing a site in WordPress that required e-commerce capabilities and in my research I came across only a couple of seemingly viable solutions. Unfortunately for me, the solutions that exist today just didn’t fully fulfill the requirements of the project. So, I did what I always seem to do. I rolled my own solution.

The result I’ve come up with is a solidly functional e-commerce solution that seamlessly integrates with the WordPress experience. Coincidentally, my development was underway near the release of WordPress 2.5. With that, I’m pleased that all of the plugin interfaces completely feel like part of the WordPress admin experience.

One of the first requirements I had in the client project I was working on, was the ability to integrate custom product pages into a shopping cart. The seemingly viable plugin that I decided to try (that I won’t name it specifically to respect their business) really tried to solve the “lowest common denominator” e-commerce problem with some handy extras thrown in (product variations, AJAX-shopping cart functionality to add Web 2.0-ness, etc). In essence they deliver everything “most” store owners would need: a place to show all the products, individual product pages, shopping cart functionality and payment processing.

In most situations, that is enough. Unfortunately, the killer flaw I discovered was their attempt to make their product Web 2.0 with a tightly integrated AJAX-based “add to cart” functionality, it completely barred me from what on the surface would seem an easy customization: link a custom “Add to Cart” button that to a custom product page to the shopping cart and send the customer to the shopping cart so they can see what was added. I actually did dig into their code and began tweaking it, and being a fairly seasoned PHP programmer, was immediately struck by the messy nature of the code. That is what finally prompted me to develop on my own. With all respect to those developers, they’ve managed to put together a decent solution. The cost of re-working that plugin to extend it must be enormous.

In the design and engineering of my plugin, I am focused on balancing two diametrically opposed goals: ultimate usability and ultimate customization. It is with that as the guiding development philosophy that I am approaching every decision in the project.

So, with all of that said, I’d like to introduce you to my e-commerce plugin that I’m calling Shopp (the extra ‘p’ is for ‘plugin’) and outline some of the key features I’m working on that I think might get you a tad excited about the project.

To begin with, let me give you an overview of where the project stands right now. So far I’ve got the basics covered: a fully functional shopping cart, checkout form, and the first of many payment processing modules (Authorize.net). That may not seem like much, but I’ve been very serious about tightly organizing how these features are engineered so that they are solid and stable. On the management side of things, there are admin interfaces to manage orders, products and plugin settings. Don’t let the simple list fool you, the system also handles product options (with variable pricing & shipping), ands calculates shipping and taxes. Additionally, you use WordPress pages for each of the main shopping pages using the new WordPress 2.5 “shortcode” tags to place your [cart], [checkout], [order-summary], [receipt], etc. in standard WordPress pages.

So here is the targeted feature set for the 1.0 release:

  • Support for PayPal, Google Checkout and Authorize.net
  • A unique easy-to-setup, fully customizable theme-based catalog, cart & checkout shopping experience
  • Smart AJAX functionality both in the public store interfaces and the admin interfaces (meaning it’s not in-your-face for the sake of a Web 2.0 experience, but is intelligently implemented for “ultimate usability”)
  • Fast and easy product setup/management with hierarchical categories (categories & sub-categories), tagging, product options/variations (with variable: pricing, sale pricing, shipping and inventory) including support for complex options such as size & color options for the same product
  • Product image gallery with slideshow and shadowbox image viewer
  • Secure digital product delivery system (for downloads like e-books, software, etc)
  • Detailed, interactive built-in help knowledge base, bug reporting, support request system
  • Adherence to delivering accessible, standards-based (x)HTML/CSS markup output
  • Tax calculations
  • Ability to limit countries that you sell to (important for security and setting up taxes)
  • Ability to completely turn off the built-in catalog (for static catalogs and custom product pagess) and the built-in shopping cart (for single product stores).

I’ve also got some other features planned for later releases though I’ve not identified the particular release for which they will be added to:

  • Addition of more payment processing modules
  • Addition of donation products and product options
  • Support for subscription products
  • Customer account system that can either live separately from or be completely integrated with the WordPress built-in user and user registration system.
  • Customer Ratings & Reviews
  • Upselling and Also Bought sidebar displays

Given the amount of work I’m putting into the project, there will be a cost to the plugin. Right now, I’m looking at a pricing model that would put the plugin at around a $50 (USD) price tag that will include both PayPal and Google Checkout payment processing. Additional payment gateways will be extra. The core benefit here is that you’ll only be paying for what you need.

So, I’m sure you may be wondering, is this too good to be true? Can he really pull it off? Is this all just vaporware? No. Yes. And no. In fact, you can see the working demo on the client site I launched for recumbent trike maker, KMX Karts (www.kmxus.com).

Your Invitation

I’d really like to hear from you (the WordPress entrepreneur community). Your questions, thoughts and ideas on the project – your response to what I have planned so far, and what you really, really want a WordPress e-commerce plugin to do.

I’d also like to extend an invitation to join a limited beta community for the project for sometime in early May. Those involved in the beta program will receive a free copy of the finished 1.0 plugin and any developed payment gateway of their choice for free. Add a comment letting me know of your interest in the beta program and depending on the thoughtfulness of your remarks, I’ll contact you to get you plugged-in.

Thanks in advance to everyone who participates!

Updates

Just a brief note to let you know that I am posting weekly updates here on the progress of the plug-in. You can read up on all the latest development, including more in-depth explanations of features under the Shopp post archives. Or, you could subscribe to the RSS feed.

43 Comments

Leave a Reply