{"id":2171,"date":"2007-10-12T02:12:40","date_gmt":"2007-10-12T02:12:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/quick-shop\/"},"modified":"2026-02-23T10:22:44","modified_gmt":"2026-02-23T10:22:44","slug":"quick-shop","status":"publish","type":"plugin","link":"https:\/\/mk.wordpress.org\/plugins\/quick-shop\/","author":255626,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.3.1","stable_tag":"3.0.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"QuickShop Updater","header_author":"ElbertF","header_description":"","assets_banners_color":"","last_updated":"2026-02-23 10:22:44","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/zackdesign.biz","header_plugin_uri":"http:\/\/www.zackdesign.biz\/wp-plugins\/34","header_author_uri":"http:\/\/elbertf.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":126593,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.1":{"tag":"1.1","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2":{"tag":"1.2","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.2":{"tag":"1.2.2","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.3":{"tag":"1.2.3","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.3.1":{"tag":"1.2.3.1","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4":{"tag":"1.2.4","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.1":{"tag":"1.2.4.1","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.2":{"tag":"1.2.4.2","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.3":{"tag":"1.2.4.3","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.4":{"tag":"1.2.4.4","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.5":{"tag":"1.2.4.5","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.6":{"tag":"1.2.4.6","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.2.4.7":{"tag":"1.2.4.7","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3":{"tag":"1.3","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.1":{"tag":"1.3.1","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.10":{"tag":"1.3.10","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.11":{"tag":"1.3.11","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.12":{"tag":"1.3.12","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.2":{"tag":"1.3.2","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.3":{"tag":"1.3.3","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.4":{"tag":"1.3.4","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.5":{"tag":"1.3.5","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.6":{"tag":"1.3.6","author":"zackdesign","date":"2012-05-07 05:41:45"},"1.3.7":{"tag":"1.3.7","author":"zackdesign","date":"2008-06-19 08:06:05"},"1.3.8":{"tag":"1.3.8","author":"zackdesign","date":"2008-07-04 02:49:36"},"1.3.9":{"tag":"1.3.9","author":"zackdesign","date":"2008-07-07 02:46:37"},"2.0":{"tag":"2.0","author":"zackdesign","date":"2009-08-04 00:12:09"},"2.0.1":{"tag":"2.0.1","author":"RavanH","date":"2009-12-11 18:39:44"},"2.1":{"tag":"2.1","author":"zackdesign","date":"2010-01-20 22:47:01"},"2.2":{"tag":"2.2","author":"zackdesign","date":"2010-01-28 06:01:14"},"2.2.1":{"tag":"2.2.1","author":"zackdesign","date":"2010-02-11 00:12:11"},"2.3":{"tag":"2.3","author":"zackdesign","date":"2011-04-13 00:03:38"},"2.3.1":{"tag":"2.3.1","author":"zackdesign","date":"2012-05-07 05:41:45"},"2.4.0":{"tag":"2.4.0","author":"zackdesign","date":"2026-02-23 09:32:15"},"2.4.1":{"tag":"2.4.1","author":"zackdesign","date":"2026-02-23 10:05:05"},"3.0.0":{"tag":"3.0.0","author":"zackdesign","date":"2026-02-23 10:22:44"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"quick-shop\/product":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"quick-shop\/product","version":"3.0.0","title":"Quick Shop Product","category":"widgets","icon":"cart","description":"Display a Quick Shop add-to-cart form for a product.","attributes":{"product":{"type":"string","default":""}},"supports":{"html":false},"textdomain":"quick-shop","editorScript":"qs-block-editor"}},"tagged_versions":["1.0","1.1","1.2","1.2.2","1.2.3","1.2.3.1","1.2.4","1.2.4.1","1.2.4.2","1.2.4.3","1.2.4.4","1.2.4.5","1.2.4.6","1.2.4.7","1.3","1.3.1","1.3.10","1.3.11","1.3.12","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.8","1.3.9","2.0","2.0.1","2.1","2.2","2.2.1","2.3","2.3.1","2.4.0","2.4.1","3.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3047,3148,888,334,1242],"plugin_category":[43,45],"plugin_contributors":[84100,77781,81812],"plugin_business_model":[],"class_list":["post-2171","plugin","type-plugin","status-publish","hentry","plugin_tags-cart","plugin_tags-checkout","plugin_tags-e-commerce","plugin_tags-paypal","plugin_tags-shop","plugin_category-customization","plugin_category-ecommerce","plugin_contributors-elbertf","plugin_contributors-ravanh","plugin_contributors-zackdesign","plugin_committers-elbertf","plugin_committers-ravanh","plugin_committers-zackdesign"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/quick-shop.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Quick Shop is a lightweight WordPress shopping cart. Define products as pipe-delimited text, drop a shortcode or block on any page, and you have an instant shop with a sidebar cart widget.<\/p>\n\n<p><strong>No WooCommerce-level complexity.<\/strong> Just products, a cart, and checkout.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Define products as simple text: <code>Product Name | Price | Shipping | Property : Option1, Option2<\/code><\/li>\n<li>Shortcode <code>[quickshop product=\"Product Name\"]<\/code> for add-to-cart forms<\/li>\n<li>Gutenberg block \u2014 \"Quick Shop Product\" with product picker dropdown<\/li>\n<li>Sidebar cart widget showing items, quantities, and totals<\/li>\n<li>PayPal checkout<\/li>\n<li>Built-in email order form (sends order details to site admin via wp_mail)<\/li>\n<li>Configurable currency, decimal point, thousands separator, symbol position<\/li>\n<li>Free shipping threshold<\/li>\n<li>Terms and conditions link<\/li>\n<li>Restrict purchasing to logged-in users<\/li>\n<li>Translation ready<\/li>\n<\/ul>\n\n<p><strong>Sample product list:<\/strong><\/p>\n\n<pre><code>Cap | 25.00\nBag | 120.00 | | Color : Red, Blue\nShirt | 9.95 | 4.00 | Size : S, M, L\n<\/code><\/pre>\n\n<p><strong>Upgrading from v2.x:<\/strong><\/p>\n\n<ul>\n<li>PHP sessions have been replaced with cookie-based cart storage \u2014 works with page caching and load balancers<\/li>\n<li>The TinyMCE editor button has been removed (use the Gutenberg block or type the shortcode directly)<\/li>\n<li>Email checkout no longer requires CForms2 \u2014 uses a built-in form with wp_mail()<\/li>\n<li>Inline styles replaced with a CSS file \u2014 update any custom CSS<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>quick-shop<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate through the Plugins menu<\/li>\n<li>Add products in Quick Shop &gt; Products (one per line)<\/li>\n<li>Configure settings in Quick Shop &gt; Settings<\/li>\n<li>Create a checkout page and select it in settings<\/li>\n<li>Add <code>[quickshop product=\"Product Name\"]<\/code> to any post\/page, or use the \"Quick Shop Product\" block<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20change%20the%20currency%3F\"><h3>How do I change the currency?<\/h3><\/dt>\n<dd><p>Go to Quick Shop &gt; Settings and set the currency code (e.g. USD, AUD), symbol (e.g. $), and whether the symbol appears before or after the number.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20product%20options%20like%20size%20or%20color%3F\"><h3>How do I add product options like size or color?<\/h3><\/dt>\n<dd><p>In the product list, add properties after the shipping price: <code>Shirt | 9.95 | 4.00 | Size : S, M, L<\/code><\/p><\/dd>\n<dt id=\"the%20tinymce%20button%20is%20gone\"><h3>The TinyMCE button is gone<\/h3><\/dt>\n<dd><p>The old TinyMCE 3 button was removed in v3.0.0 as it stopped working in WordPress 3.9 (2014). Use the Gutenberg block or type the shortcode directly.<\/p><\/dd>\n<dt id=\"i%20used%20cforms2%20for%20email%20checkout\"><h3>I used CForms2 for email checkout<\/h3><\/dt>\n<dd><p>CForms2 is no longer maintained. Quick Shop v3.0.0 includes a built-in email order form that sends directly via wp_mail() \u2014 no external plugin needed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>New: Gutenberg block \u2014 \"Quick Shop Product\" with product picker dropdown<\/li>\n<li>New: Built-in email order form replacing CForms2 dependency (wp_mail)<\/li>\n<li>New: CSS file with clean class names (<code>qs-*<\/code> classes)<\/li>\n<li>New: Cart uses cookie + WP transients instead of PHP sessions<\/li>\n<li>Removed: TinyMCE 3 editor button (non-functional since WP 3.9)<\/li>\n<li>Removed: CForms2 integration (plugin is closed\/unmaintained)<\/li>\n<li>Removed: Commented-out Authorize.Net code<\/li>\n<li>Removed: WordPress 2.6 compatibility code<\/li>\n<li>Fixed: Thousands separator never saved (form field name mismatch)<\/li>\n<li>Fixed: <code>get_option() or __()<\/code> precedence bugs in admin and widget<\/li>\n<li>Fixed: Undefined <code>$symbolAfter<\/code>\/<code>$symbolBefore<\/code> variables<\/li>\n<li>Fixed: Undefined <code>$_POST['item_number']<\/code> on add-to-cart<\/li>\n<li>Fixed: <code>$feeShippingValue<\/code> typo in admin template<\/li>\n<li>Fixed: <code>header()<\/code> replaced with <code>wp_safe_redirect()<\/code><\/li>\n<li>Fixed: Admin menu uses dedicated slugs instead of <code>__FILE__<\/code><\/li>\n<li>Fixed: <code>admin_init<\/code> action no longer nested inside <code>admin_menu<\/code><\/li>\n<li>Fixed: All <code>register_setting()<\/code> calls consolidated in <code>admin_init<\/code><\/li>\n<li>Changed: Requires WordPress 6.0+<\/li>\n<\/ul>\n\n<h4>2.4.1<\/h4>\n\n<ul>\n<li>Fixed PHP 8.1 deprecation: get_option() returning false passed to trim()\/explode()<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>PHP 8.x compatibility: replaced create_function() with anonymous function<\/li>\n<li>PHP 8.x compatibility: replaced PHP 4-style constructor with __construct()<\/li>\n<li>PHP 8.x compatibility: replaced mysql_query()\/mysql_affected_rows() with $wpdb-&gt;update() in updater<\/li>\n<li>PHP 8.x compatibility: fixed bare constant in function_exists() call<\/li>\n<li>PHP 8.x compatibility: fixed undefined array key access in get_url()<\/li>\n<li>PHP 8.x compatibility: fixed list() crash on short product lines<\/li>\n<li>Replaced deprecated PLUGINDIR constant with plugin_dir_path()<\/li>\n<li>Replaced hardcoded plugin URLs with plugin_dir_url() and plugins_url()<\/li>\n<li>Replaced deprecated whitelist_options filter with allowed_options<\/li>\n<li>Replaced extract() with direct $args array access in widget<\/li>\n<li>Wrapped session_start() with status check<\/li>\n<li>Fixed function_exists() call with parentheses in function name string<\/li>\n<li>Tested with WP 6.9.1<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Update to change some links<\/li>\n<li>Minor bugfix for including widget.php (thanks jtkt)<\/li>\n<li>Editors may now use the backend for Quickshop<\/li>\n<\/ul>\n\n<h4>2.3<\/h4>\n\n<ul>\n<li>Internationalisation support<\/li>\n<li>Misc bugfixes<\/li>\n<li>Removal of deprecated widget creation<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>CForms2 email form integration<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>WPMU 2.8+ compatibility<\/li>\n<li>Improved cart widget accessibility<\/li>\n<li>Options\/Products page improvements<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Major rewrite<\/li>\n<li>Custom checkout page<\/li>\n<li>Inventory editor<\/li>\n<li>Starting\/default shipping prices<\/li>\n<li>WordPress shortcode support<\/li>\n<li>Thousands separator formatting<\/li>\n<li>Toggle payment methods<\/li>\n<li>Updater for v1 to v2 tags<\/li>\n<li>Improved TinyMCE button<\/li>\n<\/ul>","raw_excerpt":"Quick and easy shopping cart with PayPal and email checkout. No bloat, no custom post types \u2014 just define products as text and sell.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/2171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=2171"}],"author":[{"embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zackdesign"}],"wp:attachment":[{"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=2171"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=2171"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=2171"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=2171"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=2171"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=2171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}