ECommerce websites are a huge business and they’re only getting bigger. According to the US Commerce Department, eCommerce sales within the US alone totalled $194.3 billion in 2011. Whoa! This figure is only going to increase as more and more people see the benefits of buying & selling online.
If you’re looking to create an online store for your product, what better way to do it than by using one of the most popular and robust Content Management Systems available; WordPress! There are several different eCommerce plugins available now for use with WordPress and one of the more recent arrivals on the scene is WooCommerce by WooThemes.
Back on August 25 2011, WooThemes announced that they were about to release a new eCommerce WordPress plugin called WooCommerce. They did this by forking the JigoShop eCommerce plugin from Jigowatt, which was licensed under GPL. You’ll find numerous comments from within the WordPress community both for and against this and Jigowattt also posted their own views the day after the announcement. It’s eight months down the track now though and going on peoples reactions, it seems that WooCommerce is definitely making their mark in this field. After numerous updates, tweaks & bugfixes, the current stable version (as of this writing) is Version 1.5.4.
The basic WooCommerce plugin is completely free to download and use. It’s built on top of standard WordPress Custom Post Types and straight out of the box, is extremely powerful with a lot of functionality. WooCommerce comes with all the standard features that you’d expect within an eCommerce plugin such as;
- Various types of reporting on sales, customers and stock
- Dashboard widgets that allow you to keep an eye on various aspects of your store from the main WordPress dashboard page
- Shipping & Tax settings
- Customers & Orders
- Product & Inventory
- Marketing & Promotions including the ability to add “coupons”
- And most importantly, various Payment Gateways & payment methods
There is also a wide selection of “extensions” that can be downloaded from the WooThemes website. Some of these are free, but most will set you back a small fee. There are several notable ones specifically for the Australian market such as the NAB Transact payment gateway, Australia Post Shipping Calculator and the Australian eWay payment gateway. Other useful extensions include;
- Dynamic Pricing – Gives you a powerful system for creating four different types of bulk discounts and price adjustments
- Gravity Forms Add-ons – Provides advanced product configuration forms that contain conditional logic, pricing fields, user input prices, conditional-pricing fields and conditional submit button logic
- Per Product Shipping – Allows your store admins to define a separate shipping cost for each individual product
- Table Rate Shipping – Extends WooCommerce’ default shipping options giving you highly customisable shipping options including the ability to define shipping rates location, price, weight, or item count
One other extension that I think is worth mentioning is one that I found on the IgniteWoo website. WooCommerce Wholesale Pricing creates a “Wholesale Buyer” user role and adds a wholesale price field to all of your products. This allows you to create users that can view seperate “Wholesale” prices for each of your products, once they’re logged in to their account.
The WooCommerce plugin installs like any other WordPress plugin. Upon activation, you’re prompted to let the plugin create a number of default WordPress Pages. These include account admin, shopping cart and checkout pages, among others. These default pages include the necessary WooCommerce shortcodes relevant to each page. Of course, if you don’t want to install these default pages, then you can simply skip this step.
After the plugin is activated, two new menus are added to the left hand navigation in the WordPress dashboard, WooCommerce and Products. The WooCommerce menu provides you with the various options for configuring your store;
- Settings – Allows you to configure all the default settings for your shop such as country & currency types, tax settings, payment gateways and numerous others
- Reports – A number of reports can be produced on sales, customers and stock
- Orders – Allows you to view all the orders made through your online store
- Coupons – Allows you to add coupons which can be redeemed by your customers
Prior to adding all your products to your store, there are a number of settings that need to be configured. All these settings can be accessed through the WooCommerce > Settings menu option.
The General settings tab allows you to configure the base Country/Region for your shop as well as the currency and the countries that you’ll ship to and various other settings. WooCommerce also comes with some default styling. You can enable or disable this CSS stylesheet here.
The Catalog tab allows you to confgure your product data such as where Category information is shown, the units of measurement for products that specify the weight and dimensions, currency specifics and whether to allow product reviews. You can also specify the dimensions for catalog images, single product images and product thumbnails.
The Pages tab allows you to configure which of your WordPress pages are used for each of the main pages within your shop such as displaying your list of products, customer shopping cart information, account information pages and checkout pages. Most of the pages defined here will be set to the default pages created during the plugin activation process, if you chose to allow WooCommerce to automatically create those pages for you.
The Inventory tab allows you to define whether you keep track of stock. If you do, you can enable low or out of stock notifications and even stop out of stock products from displaying.
The Tax tab allows you to configure tax rates, if required, including the ability to specify different rates based on the Country/State or a local Postcode/Zipcode.
The Shipping tab allows you to specify the various shipping options available to your customers. You have the choice of Flat Rate, International Delivery, Free Shipping, Local Delivery & Local Pickup.
Each shipping method also it’s own options that can be configured, based on the particular method. Shown below is the Flat Rate shipping page where you can specify the type of shipping calculation (ie. Per order, Per Item or Per Class), you can specify the default cost & handling fees along with any extra shipping options and rates.
The Payment Gateways tab allows you to specify the different options for collecting payments from your customers. There are four default options available; Direct Bank Transfer, Checque Payment, PayPal and Cash on Delivery. As mentioned earlier, there are also numerous payment gateway extensions that can be downloaded from the WooThemes website. You’ll find that these will be specific to particular countries.
Each payment method has it’s own settings page that can be configured. The options available will vary according to the payment gateway. Shown below is the PayPal settings screen that allow you to define your PayPal email address and a description to show your customers on checkout, among other settings. You also have the option to enable the PayPal developer sandbox which is extremely useful for testing payments when setting up your online store.
The Emails tab allows you to configure email settings for administrators (eg. New order notifications or Inventory notifications) and customers. You can use the default email template and specify your own colours and header image or if you’d like more advanced control you can copy the email template and make modifications to that.
Adding your content
The next task after configuring all your store settings, is to start adding your products. Thankfully WooCommerce makes this a fairly painless process. Simply select the Add Product option from the Products menu.
Since WooCommmerce uses standard Custom Post Types, the Add New Product page looks just like any other WordPress Post or Page edit screen, with the addition of some extra fields.
When adding a product, you have the choice of four options; Simple product, Grouped product, External/Affiliate product or Variable product. You can also specify if the product is virtual or downloadable. When adding downloadable products, you are given the option to upload the file and specify download and expiry limits.
- Simple product – Will usually cover the majority of products. Simple products are shipped and have no options
- Grouped product – A collection of related products which can be purchased individually. For example, a PS3 could be a grouped product as there are 80GB, 120GB and 200GB variations of that same parent product
- External/Affiliate product – A product you list and describe on your site, but is sold elsewhere
- Variable product – A product which has several different variations, each of which may have a different SKU, price, stock options etc. For example a tshirt that is available in several different colours and/or sizes
As you’d expect, you can specify all the usual infomation when adding a product such as price (regular & sale), tax, weight & dimensions. You can also specify and track the stock quantity, if so desired along with other “related” products that you wish to up-sell/cross-sell. It’s here that you also specify each option for your variable or grouped products.
If you’re interested in providing discounts for your customers, WooCommerce also allows you to create coupons. Coupons can be used to provide your customers a cart discount, a cart % discount, a product discount or a product % discount. Coupons can be configured to expire after a certain usage limit, a certain date or even to never expire. You can also apply/exclude them to/from a certain product or product category.
Browsing your store
Since the WooCommerce is a WordPress plugin, it can be implemented in any theme you want, however if you’re not wanting to performing any extra styling yourself, then you’re best to implement the plugin on a site that has been optimised for WooCoomerce. The WooThemes site has a number of ready made themes that are styled specifically for the WooCommerce plugin. You can also find a number of other sites such as Themeforest or Mojo Themes that have various WooCommerce styled themes. One of the themes that I tested the plugin on was the Wootique theme. This is a premium theme that’s available for free from the WooThemes website. The WooThemes website also has a demo of Wootique using the WooCommerce plugin.
I also tested the plugin using the standard Twenty Eleven WordPress theme. Although WooCommerce comes packaged with a default stylesheet which does look reasonably good (and can be disabled within the General settings page), you’ll find it’s not styled quite as nice as some of the ready-made WooCommerce themes that are available.
If you’re interested in testing out the WooCommerce plugin, it comes with a dummy_data.xml file that you can import to populate your site with dummy data. Alternatively, you can also download this file from the WooCommerce GitHub site.
As mentioned earlier, when first activating the plugin, WooCommerce will create some default pages for you. To display other content within your theme, WooCommerce provides quite a number of different shortcodes. They also provide quite a few different Widgets that can be added to your site for searching, displaying ‘Featured’ products, displaying product categories & tags and displaying recent reviews, just to name a few.
Viewing Reports and Orders
Like all good shop owners, you’ll want to keep track of all your product sales and orders. There are anumber of built in reports that allow you to do just that. There are reports for Sales (Incl. Overiew, Sales by day, Sales by month, Product sales, Top Sellers and Top earners), Customers and Stock.
Using the Orders menu option you’re also able to view a list of all the orders made. Clicking the Order # displays the order in full including all the products for that particular order (& variations if appropriate), the customers details and total costs (incl. discounts & tax).
Overall, I think WooCommerce is an extremely solid eCommerce plugin. It has a wealth of standard features and is fairly straight forward to setup, no matter whether you’re using a WooCommerce optimised theme like Wootique, or your own custom theme.
The interface is very easy to use and will be very familiar to anyone who’s used the WordPress Dashboard. The settings pages has the familiar WordPress layout, utilising the tabs across the top of the page. It’s good to see this standard WordPress layout, unlike some theme or plugins that opt to style their settings pages completely differently.
Adding products into your store is also very straightforward. It also provides quite a few choices, as standard, allowing you to setup various types of products.
The WooCommerce site also provides some decent documentation if you need to use it and although I didn’t look through it all, the pages I did look at were well written and easy to follow.
Overall, if you’re looking to implement an eCommerce solution using WordPress, you’d be wise to checkout what WooCommerce can do for you.