WordPress Custom Post Types & PHPurchase: Best Cart Ever – Part 1

Posted: August 09, 2010 Comments(22)

If I had to choose one thing that’s been most frustrating about building websites throughout the course of my career it’d have to come down to one thing: shopping carts. I’m not sure why, but finding a shopping cart that’s going to support your needs as well as support genuine customization can be a daunting task.

The WordPress cart landscape

When it comes to WordPress, there are actually a number of shopping carts available. I think we can all cringe a bit when WP e-Commerce gets brought up. It’s arguably the oldest, most widely used e-commerce platform for WordPress today. I don’t have an official stance on the platform though. I’ve tried to install it a few times now and each time either not made it to, or not made it very far passed activation.

Not too long ago, a new kid showed up on the block: Shopp. I was really impressed from a ‘book cover’ stance and took the time to check it out. A few minutes into it I felt that the developers deserved some support for taking a WordPress e-commerce plugin seriously. I snagged myself a single site license and gave it a whirl. I really liked what I saw. The plugin did its part in mirroring design conventions established in WordPress itself, something I feel is very important to plugin development. On top of that, the bit I played around with it showed that it had a great balance of functionality and customization capability.

Shopp followed in WordPress’ footsteps by providing theme files and hooks to work with, something we all love about WordPress. The documentation looked to be actively defined and I was convinced I had my go-to plugin for e-commerce the next time it came up. I even pitched the plugin to a number of friends, some of which had cart projects on their plate and were in the market for a new plugin to check out.

I didn’t have any e-commerce plugins crop up over time, but I saw a few friends make a post here or there about some frustrations they were having with Shopp. To be as specific as I can without firsthand knowledge, it sounded like there may have been a few bugs to squash when it came to actual payment processing. Shortly after that, the Shopp team announced that the plugin was to undergo a full rewrite in an effort to stabilize the payment processing and other bugs that had been reported in the forums. As it stands, Shopp is in 1.1 beta and looks to be continuing progress.

As I was shopping alternative carts, a Google search brought me to another commercial e-commerce plugin I hadn’t heard of before: PHPurchase. It took all of two seconds for me to realize that something stood out about this plugin. Beyond it being hot off the press, it bragged of such features as PCI compliance and the ability to pass the McAfee Security Test. I liked that. As I dug deeper I took a few minutes to research PHPoet, the company behind PHPurchase and continued to find bits and pieces that I liked.

As I looked around further, I noticed that PHPurchase took a partially different approach to e-commerce in WordPress. Instead of auto-generating product grids and product detail pages, PHPurchase takes care of product entry and the other details surrounding the cart setup, and then leaves it up to you to populate your site.

To be more precise, PHPurchase lets you enter all of your payment gateway details, enter products into the products database, as well as customize a number of additional (and expected) options when it comes to e-commerce. It leaves it up to you, though, to populate the shopping area of your site. Instead of template-based shopping pages, PHPurchase offers a product entry button in the WYSIWYG editor that injects a shortcode which, when processed, outputs a price, quantity field, and a buy button. The rest is completely up to you.

It’s more work, but it’s more custom

That was the driving point for me with PHPurchase. Instead of accommodating a template structure of the cart plugin itself, I could go about my day and code a theme template file as though I were doing that for any other page on the site. On top of that, each and every other plugin I’ve come to know and love (e.g. All in One SEO Pack) would work like a charm, out of the box. PHPurchase was scoring major points the more I thought about it.

All of this took place as we were catching a more public wind about WordPress’ Custom Post Types. Custom Post Types are a flagship when it comes to evaluating WordPress as a CMS vs. a blogging engine. Here’s where my mind started racing. The combination of Custom Post Types and PHPurchase is game changing when it comes to WordPress based e-commerce.

Before Custom Post Types, product pages would be set up as any WordPress Page tree would. You’d create your Pages, populate your content, insert your shortcodes, and end up with a fully functioning e-commerce solution; fully integrated with your favorite plugins. Custom Post Types, though, give you the ability to custom tailor your data fields as well.

Custom Post Types allow you to populate your content as normal, but also give you the ability to set up custom taxonomies (e.g. product categories) as well as tags. You’re also able to custom code the theme file used for your Custom Post Types as though you were writing it for a built in WordPress Page. Instead of working with (or having to rewrite) product templates, you’re instead building your cart from the ground up with PHPurchase.

Without a doubt, it’s more work to get a populated cart up and running with PHPurchase compared to a templated e-commerce plugin. When I think about it though, I build WordPress themes from the ground up for every client (aside from a “new site” framework) and I do that because I believe in hand crafted websites. Why should a cart be any different? I think we’ve been in part complacent to the current cart solutions out there and I’m glad PHPurchase has changed the game for me. My clients will love it too.

Implementing PHPurchase with Custom Post Types

Part 2 of this two part series will consist of a walkthrough outlining how I work with WordPress, Custom Post Types, PHPurchase, and a number of plugins that will help make your cart stand out from the rest.

Get my newsletter

Receive periodic updates right in the mail!

  • This field is for validation purposes and should be left unchanged.


  1. I am going to give this some time and check it out. I have also had good look on integrating foxycart and wordpress (Chris Coyier did 2 tutorials on css-tricks.com on how to integrate them). I think Foxycart might not be as robust as this though. Thanks

  2. Thanks for this article.

    I used wp-Ecommerce for a client’s site where I thought it would be VERY simple and VERY straight-forward, and there were a number of bugs, apparently, and I was quite unhappy.

    I have one strong recommendation for Shopp already.

    Now, I have this. I am glad to hear that e-commerce for WordPress is moving forward. Shopping carts are SO bloody complicated. I’ll bet the size of code for a shopping cart is comparable to the size of code for WordPress itself. E-commerce had been one of two areas where I said I would not recommend using WordPress, so I hope this is changing.

  3. Thank you for the great list with plugins, i have several favourites to, like the all known “All IN SEO “as well as the easy privacy policy and also SEO friendly images (got some excellent results with it)and lastly pretty links (great for cloacking) affiliate links…

  4. […] just about edged out Shopp. I didn't really have time to compare them properly, so this post – WordPress Custom Post Types & PHPurchase: Best Cart Ever – Part 1 – Monday By Noon – helped me make my mind up. The idea that you basically have your normal WP CMS site and add the […]

  5. though I agree it is a fantastic plugin, there are way to many issues with tech support – barely any. So I purchased was happy until it wouldn’t log orders
    4 months and issue hasn’t been resolved. So beware people.
    Browse their forums..you’ll see

  6. I’m going to set up shopping site for some custom aprons. I’m looking at GoDaddy’s Quick Shopping thing, as well as WordPress options. I use WP with other sites, but I’m new to commerce. How does one go about allowing payment with credit cards? I think the GoDaddy’s shopping site includes a merchant account, but I’m not sure.

  7. Really sorry to hear that report, Daniel. I can’t say it’s the first time I’ve read it, but it could in fact have to do with the project rebranding itself as Cart66 and the new version coming out. I’ll keep my eye on it.

  8. Thank you so very much for this explanation!

    I can tell that PHPurchase is a gorgeous solution for many small businesses.

    Unfortunately, this multiple-step process won’t work for my purposes, since I and my clients offer many one-of-a-kind items, and once an item is sold, it’s gone. I need to be able to place three or four items in a day– in thesmall time I have after creating the dang things!

  9. Just experienced some frustrations with Shopp. Adding a custom meta_box to a product edit page is possible, but saving that data, not so much. Since Shopp’s products don’t utilize custom post types, you can’t easily save metadata to a given product.

    Cart66 seems very promising in this respect. Plus, I think in the end my clients would be happier with having more control over the presentation of a given product page.

    Gonna go check out Cart66 a bit more!

  10. I assumed that inventory tracking was part of the deal, Jonathon 🙂

    The thing is that I would have to enter information in one section of wordpress, and then switch to my page or post and there write the sales copy, and add the link.

    It seems silly to complain about that extra step, but I would have to do that over and over and over… It adds up!

  11. yeah, i’m with probablepossible here, for handing off a full ecommerce site to someone who will do, say, bulk import, there are alot of steps missing.

    i guess someone should write a plugin that allows them to import a product and create a post at the same time.. shouldnt be too tough actually, but they should have that functionality built in there.

  12. To be honest. I have been using Shopp and I have had some issues with support. Forums are not very helpful and could take weeks before they finally answer a question. I am thinking of trying this out now to see how it compares. I wish there was an online demo so I could test drive it before I purchase though.

  13. Thanks for the great post, have a quick question though. On the category page do you have to go and add the next product into the grid with another shortcode or is there a shortcode that shows all products in a category? Just need to figure out how much work it is to add one product. Secondly, what currencies are available? I need this plugin to support “South African” currency ZAR as well as South African payment gateways?

  14. Everything is pretty much manual when it comes to getting the products to show up on the site itself. As for currencies, I can’t say offhand whether or not that currency is supported but the Cart66 team is very good at getting back to support requests quickly.

Leave a Reply

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