Content Management solutions using Drupal, Wordpress, and Magento
Zack Design Zack Design

QuickShop

2.5-ready QuickShop is here!

You can view it running on a live site.

I’ve just created a plugin for WordPress called QuickShop and released it under the GPL. You can find it at WordPress Extend. This plugin installs a Sidebar Widget which shows the items in the cart and allows you to remove them, as well as allowing you to place tags in your posts which generate a form button to add products to the cart.

I have integrated it with the WP-GBCF contact form and more information about that can be found in the README. It inserts the cart contents into the message field with amounts for users to edit. You can also integrate it with other solutions if you like…

If you need the Paypal changed to your currency of choice let me know. I will eventually be providing an admin interface to change the currency, but as of right now you can only change the currency in the code itself.

Need help or want it enhanced? Just contact me! Some people want CFormsII support. I’m afraid that I can’t offer this for free as CForms is a bit more complicated than simple text substitution.

Also, despite running a business, I devote a significant amount of time into this plugin for you, my clients, and myself, and give it to you people for free. If you feel generous you may donate through Paypal, you could link back, or you could ask me to work on your site.

Comments are off! Visit the Forum to get support, request features, and more.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Twitter
  • Reddit

Tags: , , , , , , ,

70 Responses to “QuickShop”

  1. Zoe says:

    Thanks for your great developement.

  2. Michael says:

    Trying to use quickshop but the generated paypal form code appears corrupted. I have cleaned out the [] manually and it then works. Shipping cost is also set against the no_shipping field?
    <input type=”hidden” name=”item_name” value=”Organic Bread
    “>

    <input type=”hidden” name=”amount” value=”6.00“>

    <input type=”hidden” name=”no_shipping” value=”2.00“>

    Also, how can I control the cart widget so it appears only on relevant posts/pages?

  3. admin says:

    Yeah, the SVN to WordPress has been acting strangely. E.g. it’s not showing the right version number either, even though I’m following their guidelines to the letter.

    The no shipping field is as strange to me as it is to you. It worked so I thought ‘why change it’.

    The cart widget could possibly be configured to show on relevant pages. You need to use WordPress’ inbuilt page management functions and/or its plugin hooks to do so. I am unsure since I never had the occasion to try that.

  4. -Paul- says:

    Wonderful Plugin!

    I was put off by the fact that it only worked with the AU paypal.

    I finally down loaded it and looked at the code. I was able to easily modify it to work with the US paypal, simply by changing all code references for AU to US. (there were only 4 of them)

    http://evbid.com/2007/11/08/web-based-business-essentials/

    It now works like a charm for US PayPal and I’m recommending it to all my clients who want to set up shops using their WordPress Blogs.

    I’m fairly confident that you can also modify it for GBP and EUD as well, simply by changing those same references.

  5. RedFree says:

    Hallo Zack!

    This plugin is EXACTLY what I am looking for! Thanks, thanks, thanks for great work.

  6. ZEVS says:

    Hi Zack

    which code i must insert to sidebar for basket ?
    worked, but have error: Warning: extract() [function.extract]: First argument should be an array in /usr/home/USERLOGIN/domains/USER_DOMAIN/public_html/wp-content/plugins/quick-shop/quickshop.php on line 51

    Thank!

  7. -Paul- says:

    NICE!

    The New update (v1.2) WORKS IN USD

    This is Fantastic!

    Thanks!

  8. -Paul- says:

    OUCH!

    You should have left in the v1.1 paypal tag compatibility. I’m running through all of my sites posts to check for and replace the old [paypal:item:pprice:etc] tags

  9. admin says:

    Sorry about that! I wasn’t aware that so many people were using the Paypal tags. They were a bit of an afterthought.

    Something like this is unlikely to happen again though, I won’t be changing the tag so much anymore.

  10. Dr.Ug says:

    Can I upgrade Quickshop from version 1.0 to 1.2 without modifing [cart] tag for old products?

  11. michelle says:

    Ok so i want to add a button to a gallery specifically a NextGen gallery Do you have any idea how I would go about doing this? I have some idea However its not working like i would like. Just curious if you’d have any tips. Ill keep tweaking it to see if i can do it!

  12. admin says:

    @Zevs
    Needs the Sidebar Widget plugin or the latest version of WordPress!

    @dr Ug
    I’m afraid not at the moment. There is a really quick way to change tags using PHPMyAdmin and an SQL query though.

    @michelle
    Your nextgen gallery is not part of the posts that WordPress users and as such is out of the filter requirements that I need to make the plugin work. If you create a post it’s easy to do. To make NextGen work with my plugin your way some other work would be required.

  13. Mattz says:

    Hi,

    Wouldn’t it be nice to have a small form where you can fill in the descriptoin and price, push an “ADD” button and the whole string that makes the link you need to type manually normally is placed into the TinyMCE editor ?

    I don’t know if you have thought about it, but it should be a very nice solution I think.

    For the rest, great work !

    Thanks

  14. Ryan says:

    Hi, great plugin. I have used the shipping fields, but can’t see where they calculated or passed along to the contact form. Are they not used?

  15. admin says:

    @ Mattz

    Will be adding it shortly!

    @ Ryan

    Shipping fields aren’t passed to the contact form but can easily be added. I’ll improve the readme.

  16. Manele says:

    thx for the plugin!

  17. Mattz says:

    Hi Zack,

    Maybe you can specify here for MU users if it’s usable with seperate email addresses per blog to send the order to ?

  18. Anna says:

    First off, thank you for this great plugin and all the work you must have put in to it! =)

    I was wondering 2 things: would it be possible (eg. reasonbly timeconsuming to code…hehe) to have a purchase receipt sent to the customer when he/she places the order?

    And secondly, can I set stock value with QuickShop? I sell one offs and would really have use for stock control.

    Either way – thanks again for this plugin, it’s of really great use to me! =)

  19. admin says:

    @Anna

    Yes, I sure have put a fair bit of work into it :) Thanks!

    I’m setting up a purchase receipt functionality right now actually. Still in the early stages though. Also, stock control I will have to think about. I do NOT want QuickShop to have its own database.
    You could probably use the custom fields in WordPress posts for this… I’ll look into it.

    @oli

    No idea. Could be a problem with something else other than QuickShop.

    @Mattz

    Generally I make the email address the same as the blog email address. I am setting up an admin section where you can change this.

  20. josh says:

    Is there a way to use this plugin without having to be reliant on widgets?

    I can manually add the code to my sidebar, but I dont know what the code is?

    If that isnt possible, can someone tell me to have a widget on just one page?

  21. admin says:

    @josh

    Basically you just create PHP logic in your sidebar which checks whether or not you’re on the page you want to see the shopping cart widget on, then if you are it outputs the sidebar widget code.

    is_page, is_category, etc. are WordPress template functions you can call.

  22. josh says:

    @admin

    Cool, how would I do this, what code do I need to do it?

    thanks

  23. bruellfisch says:

    hi
    the plugin is great.
    but how can i set the quantity of the product?
    thx

  24. Chet says:

    @admin

    I’d like to know the answer to Josh’s question, too. I understand how to apply the logic on checking whether to see if you are on that page, but need to know the actual code used to call the widget if you are indeed on that page.

    Thanks!

  25. admin says:

    @josh & @chet

    You basically just need a complete sidebar set aside for this purpose. You would put this code above or below your original sidebar (and you would have to modify functions.php to tell it that there were two sidebars, I will just show the code for sidebar.php).

    …. Normal sidebar code here or below ….

    if (is_page(‘shop’)) // Page slug used
    {
    < ?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ) : else : ?>
    // Dynamic sidebar 2 is just an example, you might call it something else
    < ?php endif; ?>
    }

    …. Normal sidebar code here or above ….

    I just gave the skeleton PHP logic – you should know what HTML goes where, etc. You then go into the Widget admin section and place the shopping cart widget there and voila.

    @bruellfisch

    Quantity of the product is something someone else has already asked. I’m going to have to work on that! I don’t want QuickShop to use the database… so may have to figure something out…

  26. admin says:

    @bruellfisch

    No luck really – I’m putting inventory into the too-hard basket for now. You can set the quantity of the product in the actual shopping cart widget as a user if that’s what you mean?

  27. Melo says:

    I would just like to thank you for this wonderful plugin! Great job! :)

  28. Chet says:

    @admin

    Thanks! That worked really well!

  29. admin says:

    No worries guys :)

  30. Vertov says:

    Thanks for this plugin! I have 2 questions …
    1. Can I use my picture or a link instead buttons? How to do it?
    2. Which code should be used to show the Shopping Cart in the title or the footer?

  31. gzs says:

    @ admin

    Great plugin, and sorry for the question, I know that josh and chet asked you already about this.

    But I want to know, how could you insert your shopping cart to your left sidebar? :) really sorry for this question, but, I dont find an other way to get a solution on my problem.
    I tried to insert this code on my sidebar, but it dont work.
    ———————————
    if (is_page(’shop’)) // Page slug used
    {

    // Dynamic sidebar 2 is just an example, you might call it something else

    }———————————

    please help me, what is tue full code that I have tos paste to my sidebar! I really would like to use this plugin, I only need a small help :)

    Thanks Zack!

  32. admin says:

    @gzs

    No worries… I don’t actually know what the ‘true full code’ would be unless I could see the FTP and do it myself. I generally charge for this kind of service. Just send me an email. It wouldn’t take me long.

    @Vertov

    1. This would mean changing the HTML in QuickShop. Something that I guess I will get around to in later versions if enough people want it

    2. I’m unsure what you mean. You could just put a sample sidebar in the header or footer if you liked?

  33. -Paul- says:

    I am pleased to announce that QuickShop v1.2.4 is fully WPMU compatable. (I have it available for mu blog users at EVBid)

    I know this isn’t the latest version, but it is the latest version that will work with WPMU.

    Thanks for a great plugin, now my free blogs have more power than WordPress.com.

    We’re just a small site, but every little advantage helps.

  34. -Paul- says:

    @Matt

    Yes 1.2.4 does correctly send to the paypal e-mail of the blog owner, not the admin.

    The admin section added from v1.2.4.1 on, is not compatible with WPMU (I havent looked at the code, so not sure why)

    also remember that WPMU is going to be catching up with WP 2.5 soon (demo’s are in the trunk now) so 2.5 compatible plugins may start working in WPMU again soon.

  35. -Paul- says:

    @ Isaac

    I have listed your plugin in the WPMUDEV.ORG site. I hope you don’t mind.

    I have given you full credits and links back to this site and to your space on the wordpress plugins repository, and have also provided a direct download link to the 1.2.4 archive at worpress.org

    Prior to this addition, the only other Shopping Plugin for WPMU was wp-commerce and anyone who has dealt with that plugin on either platform knows from experience that setup and usage is not as easy as QuickShop.

    When dealing with sub-blog admins (and trouble tickets, tech support, and the public in general) Site Admins want addons and features to be as simple as possible for all of their users. Your plugin ‘s simplicity makes this the perfect shopping cart addon for WPMU. Thank You.

  36. rex says:

    hi, thanks a lot for the plugin. Just starting so kinda running low on money but as soon as i make the first sale sure enough i am sending u some money. This is really a cool pluging.

    The only problem where can i find the TinyMCE button.

    & although i have configured it to a blog page but still it keeps going in for /contact which isn’t there. Thus and error.

    Please help.

  37. Ermilo says:

    I have the same problem with the contact page.

  38. admin says:

    @rex, @Erminlo:

    I’ve made the /contact page configurable in the admin in version 1.3.1

  39. Mikael Wehner says:

    Hi!
    Great shopping cart, but I’m not so sure I want to use the Contact Form for checkout. How do I pick up the data cart data if I post to a custom checkout page?

  40. admin says:

    @Mikael

    Please read the README included with the plugin.

  41. Mikael Wehner says:

    So I did. I thought just reading the session data would work, just like it’s done when adding the quickshop integration to WP-GBCF (as described in the README). But I get nothing from the session. If I add my own form tags and have the form posting to my checkout page, I’ll get the product name, quantity and currency, but I’ll lose the pricing. But with this method it just seemes I’m working against the QuickShop code.

  42. admin says:

    @Mikael

    OK, strange. Everything should be included in the $_SESSION['qscart'] variable… Send me an email via the contact form with a copy of your code…

  43. Simone says:

    Hi, great plugin and work :-)

    It would be so nice if it could be also integrated with the so common contact form Cforms II, could be done?

    Thanks a lot

    Simone Italy

  44. Casper says:

    When “dispay shopping cart if empty” option is enabled, how can I add text like “0 items” or “cart is empty” to be visible at the widget body?

    This for non-paypal cart.

    Thanks. Great plugin!

  45. admin says:

    @Simone

    I can make it work. Contact me via the contact form for more details.

    @Casper

    That’s something I’ll have to add in. Or you could modify the php file yourself.

  46. dea says:

    I read your read me file again and again, like zillion times. And yet, i can’t integrate the qshop with wp-gbcf.

    contact form works fine.
    qshop works nice

    but when ‘proceed to checkout’ being click nothing happens. can not make it as your credo web.

  47. admin says:

    @dea

    Sounds like you need to go to Admin -> Settings -> QuickShop and change the value for the ‘proceed to checkout’ URL. If that still doesn’t work I might need to fix it!

  48. done that.
    but still, when i test to checkout the message doesn’t appear on message colom as it supposed to do…

    am i doin’ something wrong?
    i’m testing the script on my test page.

  49. Olli says:

    Hello

    Have you any solutions for Simones and my problem? I also want to use your wonderful plugin with Cforms II?

    It would be great when you can tell us where I should set the codesnippet for the textfield. I’ve searched in the plugin code of cforms but I don’t get it!

    Many thanks and regards
    Olli

  50. Roger Rosentreter says:

    OK…I’ve dug and prodded and cajoled and tested every possible combination….

    How in the love of god do I add the simple words “Your Cart is Empty” when it is????

    I suspect that it would be an else statement like

    else
    echo ‘Your Cart is Empty’;

    somewhere around line 333 of quickshop.php as I am using the widget_quickshoppaypal but nothing seems to work.

    I have ticked the “Display Shopping Cart when Empty?” in the Admin settings.

    BTW after fiddling with wp-eCommerce for three weeks and still not getting it to do anything I wanted, I discovered this fantastic little plugin and four hours later I am ready to replace all the shopping cart code on my site with this plugin…Well Done and Many Many Thanks

    Rog

    PS. In wp-admin/Design/Widgets there is no way to remove the Quickshop widget and if you accidentally click it first and then realise you really wanted the PayPal version you have to rem the code on line 340 to get it to quit.
    Am using WP 2.5.1 and QuickShop 1.3.4