Posted on

Hello WooCommerce 2.0!

In my memory, it seems like yesterday when we decided that our next release would be a major release. Instead of releasing version 1.7 with just new features, we decided to rewrite a large part of our code that we always wanted to change and go for a 2.0 (code name: Daring Dassie) release. Today is the day that marks the start of a new era for WooCommerce.

WooCommerce 2.0 is here (now available via WordPress.org) and it is a major release. We have rewritten large parts of our code base, we have added new features and have made it better capable to handle everything you need for your online store.

A new WooCommerce overview video, courtesy of Shawn Hesketh.

Sucuri audited and approved

Security is very important for all websites and especially for online shops. That’s why we’ve been working with Sucuri on the road to WooCommerce 2.0, where they have audited our code and said this about our plugin:

Sucuri security assessment: “The code in the WooCommerce plugin was noticeably built with security in mind. It appears obvious to the review team that there was significant effort placed in building a clean and efficient plugin.”

As developers we can not get better feedback on our work and for you as a user it will give peace of mind to know that the code running your website is actually safe.

Before you update to WooCommerce 2.0

Before you update your live website to WooCommerce 2.0, please use a test environment for all your testing. You can use the test environment as a sandbox to simulate the update and make sure your website will continue to work after you update it to WooCommerce 2.0.

We know you all are eager to start using this new version, but this is a big update, so please take your time and make sure that you prepare your website properly. Also be sure to check out our WooCommerce 2.0 Update Process.

[box type=”alert”]IMPORTANT: Once you run the updater wizard to convert your data to WooCommerce 2.0, there is no undo. The data will be changed in such a way that there is no way back. The only way you can get the ‘old’ data back is by restoring a backup. This stresses the importance of having a backup strategy and testing everything on a test environment before touching your live website. It is not that we don’t want to restore the data, it is because we can’t.
[/box]

Stuff store managers will love

As a store manager you will live in the backend of your online store and we’ve been going above and beyond to make it a better experience for you there. We’ve added a bunch of new features and also improved existing features:

The product data panel has been redesigned in WooCommerce 2.0
  • Better stock handling – We have added an option to hold stock for unpaid orders (defaults to 60mins). When this time limit is reached, and the order is not paid for, stock is released and the order is cancelled.
  • Easier email template editing – You can now edit each individual transactional email from the dashboard and easily move template files to your theme for more detailed editing.
  • Improved tax options and new input panel – It has never been this easy to setup complicated tax options.
  • Multi download support – Products can now have multiple downloadable files attached to them – purchasers will get access to all the files added.
  • New order screens – Order pages have had a cleanup, with a more easily scannable interface. We particularly like the new status icons!
  • New product panel – We have revised the product data panel making it cleaner, more streamlined, and more logical. Adding products is a breeze!

Stuff customers will love

Real time checkout validation

Of course you want your customers to love your online shop. Most magic for customers will happen in a theme, but we’ve made a couple small changes that will make a big difference on the frontend:

  • Improved pagination & sorting – Numbered pagination has been added to core, and we show the number of results found above the listings. Customers can now also sort products by popularity and ratings.
  • Star ratings in archives – We have added star ratings to the catalog which are pulled from reviews.
  • Realtime checkout validation – To improve the checkout process, there is now visual feedback as to whether the customer has input valid (or invalid) data into each input field. If you’re using a theme which disables the WooCommerce Stylesheet, you can easily add it yourself with some basic CSS.
  • Quicklinks to cart when adding products via AJAX – When using the AJAX add to cart feature, users are now presented with a link to the cart immediately after clicking the ‘Add to cart’ button.

Stuff for developers

We have a huge pool of developers working with WooCommerce every single day and we are developers ourselves. That’s why we’ve been working hard to make WooCommerce 2.0 even better suited for developers, next to everything we’ve pushed in for our users.

Under the hood
There are a couple real big stores running WooCommerce (including our own website), where performance is hot on the agenda. That’s why we’ve made these improvements:

  • Session handling – PHP SESSIONS have been a problem for many users in the past, so we’ve developed our own handler using cookies and options to make these more reliable.
  • Improved line-item storage – We have changed how order items get stored making them easier (and faster) to access for reporting. Order items are no longer serialised within an order – they are stored within their own table.
  • Autoload – We have setup autoloading for classes – this has dramatically reduced memory usage in 2.0.
  • Localization – Not only have we added a lot more translations bundled with the plugin, we have also split up the translation files to make them more memory efficient.

Frontend
To make templates and themes easier to use and also benefit of new techniques and tools, we’ve been improving the way our frontend works:

Fancybox is replaced with prettyPhoto
  • Retina-ready – Inline with the WordPress 3.5 update, all graphics within WC have been optimised for HiDPI displays.
  • All round template & hook tidy-up – To further improve customisability we’ve added new templates, such as loop start & end to change product listing markup and have also separated the user account panel so you can safely edit individual sections. Redundant hooks have been removed as we move towards making the template structure more user-friendly.
  • CSS overhaul – To help reduce potential class conflicts with other plugins and themes, all WooCommerce markup (including shortcodes) is now wrapped in a parent ‘.woocommerce’ or ‘.woocommerce-page’ class. In addition, all WooCommerce classes themselves have been standardised to use the ‘.woocommerce-’ naming convention.
  • Product tabs rewritten – Product tabs are now filterable which makes adding new tabs and removing current ones more convenient.
  • Fancybox replaced with prettyPhoto – Prettyphoto brings some new features such as thumbnail navigation in product galleries, as well as a more powerful API for developers to use when building extensions. PrettyPhoto is also the lightbox script of choice in our themes so will improve efficiency when using WooCommerce with a WooTheme.
  • Cache friendly cart widgets – Cart widgets and other “fragments” are now pulled in via AJAX – this works wonders with static page caching.

Backend
The backend is where most of our magic happens and we’ve done a couple real big changes there that make the life of a developer easier and with more options:

  • New product classes – The new product classes and the product factory make it much easier to create custom products and types. For example our Subscriptions extension is already using it right now, giving you all new options that weren’t possible before.
  • API improvements – Not only have we improved our API functions, we have also made them easier to work with and much more memory efficient.
  • Capability overhaul – More granular capabilities for admin/shop manager roles covering products, orders and coupons.

Compatibility with our themes and extensions

We have worked hard to ensure all our themes and extensions work with WooCommerce 2.0. Once you start testing this update (please read the above paragraphs about preparing your installation), make sure you have the latest versions of all your WooThemes products. Check the My Account view on woothemes.com and be sure to use the WooThemes Updater plugin to get the updates for our products right in your administration panel.

Found a bug? Need help?

As I’ve mentioned before, WooCommerce 2.0 is a real big update. If you think you’ve found a bug, please report it back to us. Although we have been doing extensive testing on WooCommerce 2.0 before releasing it, please report everything you think is a bug.

Think it is a bug in the WooCommerce plugin? Make it an issue in our GitHub issue tracker. If you need any help with our premium extensions or themes, do drop us a line via our support portal. In case you just want to discuss something WooCommerce related, or have a great idea for our plugin, let us know via the public WooCommerce forums on WordPress.org.

Enjoy the future of WooCommerce!

Daring Dassie, ready for launch

We are very excited about this new release and we truly believe that this pushes the WooCommerce plugin to the next level.

During the testing stages we’ve been getting some great feedback from the people testing, so we are very much looking forward to how you all like this new release.

We wish you all a lot of fun and sales with WooCommerce 2.0!

[discountcoupon]Grab any WooCommerce extension with a 25% discount coupon, valid until Midnight (UTC), Friday 8th March, 2013. Just use WC2LAUNCH as your coupon code on checkout. This coupon has now expired. [/discountcoupon]