How Shopping Cart Plugins Integrate and Work with WordPress

You may want to know how each WordPress shopping cart plugin works and integrates with WordPress. Some plugins create their own database tables. Others utilize WordPress custom post types and custom taxonomies.

Below you’ll also find screenshots of the product adding screen of each plugin. That screenshot will give you an idea of what mechanism the cart uses to add products to WordPress.

In my opinion, the WordPress shopping cart plugin with best integration with WordPress API is MarketPress.

You can click on the name of the product below to view its full review.


Upon installation WooCommerce creates 3 tables in the WordPress database, a lot less than many other e-commerce plugins. The three tables are reserved to store product attribute taxonomies and downloadable product permissions. All products related data are stored in WordPress wp posts and wp postmeta tables. WooCommerce integrates tightly with the WordPress API, making full use of the WordPress framework, making it easier for theme and extension developers to leverage their existing knowledge of WordPress to create new products.

The plugin also automatically creates almost all of the usual shop pages, e.g. cart, checkout page, etc, enabling you to quickly start playing around with your store installation.

Additionally, WooCommerce comes with a few shortcodes which you can use to add specific store content into pages and posts.


Upon activating Cart66, it'll will create 18 new tables in the WordPress database. These are used to store product related information, inventory details, orders etc. Many shopping carts use WordPress tables to store these data, which in my opinion can get messy in the long run. Also upon activating Cart66 will create several default WordPress Pages. These pages are important for the functionality of the shopping cart. To display products on your Cart66-powered WordPress site, you’ll then need to use shortcodes. You can write the shortcodes yourself, or click on the Cart66 button in the Visual Editor to have it insert the shortcode for you.

GetShopped (WP e-Commerce)

Upon installation GetShopped creates 12 new tables in the WordPress database. All product related data is stored in as WordPress custom posts, including product variations. Other information like coupon codes, tax information is stored in GetShopped custom tables.

Additionally, the plugin creates various WordPress pages to facilitate the buying process. All in all, GetShopped uses WordPress API pretty well.


On activation Shopp creates 11 new tables in the WordPress database. Products are created as WordPress posts and make use WordPress custom post types and custom taxonomies. However, the product price data is stored in Shopp’s custom tables. Shopp seamlessly integrates into WordPress; from the administration to the public website, Shopp development follows WordPress theme and plugin guidelines to make it as compatible as it can be. In the latest version (1.2.1) WordPress integration has been enhanced by utilizing more WordPress API functions.

Unlike other ecommerce plugins, Shopp includes two built-in storage engines for product images and downloadable files, database and File System storage. Each has benefits and drawbacks that should be considered when determining which to use. By default, Shopp is set up to store both product images and digital product downloads in the database using the database Storage engine.

For small files database storage can be somewhat secure, as you do not get easy access to the database as you might to the filesystem. However if you plan to upload files larger than 2 MB, it would be better to use the File System storage engine; you do not want to store large file in your database, these can impact your database performance considerably. This is an issue you should consider carefully during your initial store setup. More information on both of these methods and their pro and cons can be found in the relevant Shopp documentation.


Once installed, the Jigoshop plugin creates 3 new tables in the WordPress database a lot less than the dozens created by some other ecommerce plugins, making it easy to maintain the database during migration. Jigoshop uses the post meta table of WordPress to store the product attributes inventory, prices, coupons etc. and hence the small numbers of tables created by Jigoshop.


When you first activate eShop, it creates a bunch of tables in the database and creates "default pages". These are your shopping cart, check out, thank you, cancel, downloads, and shipping rates pages.

Adding products with eShop is just like adding posts in WordPress. Each product is in a post. Then how these posts are displayed on the frontend is up to your theme.


As stated earlier, ShopperPress takes over WordPress. After activation, you'll no longer have WordPress' "Add Post" or "Manage Posts". They'll be replaced with "Add Product" and "Manage Products". Your WordPress categories and tags will be used for organizing products now -- not posts.

ShopperPress creates only one new table in WordPress' database. ShopperPress uses WordPress custom post types and settings API extensively to manage all the other types of data that it creates, which is the proper way of doing things.

Market Theme

Market Theme utilizes the default WordPress post type for creating products. And it uses WordPress categories for organizing those products.

Technically, products in Market Theme are regular posts with additional data tacked onto them. To display products, Market Theme uses a WordPress Page that you set as the storefront.

Since both products and regular posts are stored as default post type and utilize the same taxonomies, it could get a little messy if you are creating lots of blog posts and storing lots of products on the same site. However, Market Theme does take some care in separating the different data types.


MarketPress is one of the most well integrated shopping cart plugins for WordPress. It uses the latest WordPress API to the fullest extent. It doesn't create extra tables for products, product categories, or product tags. Instead, it utilizes WordPress' custom post types and taxonomies. What this means for the end user is better performance and future extensibility.

Tribulant Shopping Cart

Tribulant Shopping Cart uses WordPress pages/posts to provide shopping cart functionality. You have to embed certain shortcodes to achieve the functionality.

As for product creation, Tribulant Shopping Cart provides a screen that looks very similar to the WordPress default "Add Post" screen. Through that screen you can create a new product and the plugin will save the product as a default WordPress post type. You can also optionally save it as a page.


You can add products with YAK by going to a post writing screen and entering the product details in there. You'll then have to use shortcodes to display the product details within the post.

The process is pretty smooth.


It uses WordPress shortcodes to embed its screens (like the checkout and thank you screens) on pages and posts.

Products are treated like custom post types, which is good -- and it makes product management easier. Products share the same categories as WordPress posts, which is not so good. They should've used custom taxonomies instead.

Templatic Ecommerce

Templatic Ecommerce uses WordPress posts to store your products and it uses the built-in categories to organize them.

Templatic Ecommerce themes don't utilize custom post types or custom taxonomies, which is not the proper way to do things.

Zingiri Web Shop

Upon activation, Zingiri Web Shop will create several WordPress Pages. These pages are integral part of the Zingiri Web Shop. The pages created on installation are: Shop, Cart, Checkout, Admin, Personal, Login, Logout, Register. This enables you to quickly get started on selling your wonderful products online.

Powerful and simple back office ordering & stock management features put you in control of your Web Shop, allowing you to easily add and edit products, change prices and product images.


wpStoreCart uses WordPress Pages for products and other store screens, such as the checkout page.

Adding of products on wpStoreCart happens as follows: you first add the product in wpStoreCart admin panel. Then, you create a WordPress post/page and use a shortcode, like [wpstorecart display="product" primkey="x"] to display the product.

wpStoreCart utilizes WordPress shortcodes heavily. You can use shortcodes to display the checkout page, a specific product, customer's orders page, recent products, a special message only shown to customers who have purchased a product, most popular products, and products from a certain category.

WP Online Store

Unlike many other WordPress e-commerce plugins, WP Online Store is a complete plugin with its own database tables. On installation the plugin creates around 58 tables in the WordPress database, more than in any other e-commerce plugin I've seen. All the products, customers and other information is stored in these tables, unlike other plugins which uses the 'wp_posts' and 'wp_postmet' tables to store the data. A primary advantage of this is that in the future if you delete the plugin you would have a clean uninstall of the product and not have zombie data lurking in your WordPress tables.


Once installed TheCartPress plugin creates 12 new tables in the WordPress database. TheCartPress uses the 'postmeta' and 'posts' table of WordPress to store the product data and various product attributes: weight, prices, SKU etc.

TheCartPress is different from other e-commerce plugins in one important regard. You can use the plugin as a framework using the filters and hooks it provides, just like WordPress. So you can easily integrate it in your custom theme with only the features you require.

6 comments. You can post one, too!

  1. Hello, very nice article, thumbs up.
    My friend of mine is using an old templatic theme called storefront which is using WordPress posts to store the products and it uses the built-in categories to organize them like you mentioned in your article above. And now my friend is considering to use coolcart theme, also from templatic which is using woocommerce. Can someone give me an insight on how to seamlessly switch from storefront to cool cart? I’m talking about hundreds of products that need to be display. Whew…

  2. Interesting article and nice comparison. In my case, I have a list of products which are dynamic and changes quite abruptly on daily basis. These products are found in the database which changes on daily basis.
    Do you think there is any plugin/theme that supports this scenario. Its a matter of displaying these products.

  3. Nice article, but I am looking for something entirely different. I want to display a list of say, 30 recent posts, with their thumbnails, on my blog’s homepage. The ‘posts’ would be arranged in catalog format, like this:

    Do you know of any plugin that can do this for me? So far I have either found plugins that either require me to manually add a ‘post’ to the catalog, or edit an existing post to have it added to the catalog. I want something that automatically displays the posts without having to do anything on my part. Maybe I don’t even need a plugin, maybe all I need is some php code but cannot figure out what?? Appreciate any help :)

    And the ‘recent posts’ plugins I have used so far either do not work right on my multisite blog, or offers the option of displaying posts with thumbnails on sidebars only!

    • Hmmm, your requirements have to do with the presentation not the functionality of your site, so what you need is a theme, not a plugin. (It wouldn’t be right for a plugin to try to do this, but I guess such plugins do exist.)

      Find a theme that displays posts as a grid and your problem will be solved. Market Theme comes pre-configured for this.

  4. wow. Very useful. This is the some of the exact information I was looking for. My objective is to covert existing post (which are products) from a 500 plus product catalog I built with WordPress so that I can use them in an existing WordPress e-commerce solution. I assume it would be easier/seamless to convert them to custom post types?

    • Hi David, You’ll most likely have to export/import your product data as XML or CSV. There is the CSV Imp plugin that works with eShop and it is specifically designed to deal with a problem such as the one you’re having.

      The products don’t have to be a custom post type.

Leave a comment

Your email address will not be published. Required fields are marked *

Read this to make your comment cool.