{"id":353798,"date":"2026-08-18T11:51:18","date_gmt":"2026-08-18T11:51:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simple-product-addons-for-woocommerce\/"},"modified":"2026-08-18T11:50:51","modified_gmt":"2026-08-18T11:50:51","slug":"u2code-product-addons-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/u2code-product-addons-for-woocommerce\/","author":16290396,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"U2Code Product Addons for WooCommerce","header_author":"U2Code","header_description":"Add extra fields to WooCommerce products \u2014 options, text, uploads, dates and dimensions \u2014 with per-option pricing, live totals and conditional logic. Assign them globally or per product.","assets_banners_color":"a88eb2","last_updated":"2026-08-18 11:50:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/u2code.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"bycrik","date":"2026-08-18 11:50:51"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3652775,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3652801,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3652756,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3652756,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3652756,"resolution":"1","location":"assets","locale":"","width":2560,"height":1782},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3652756,"resolution":"2","location":"assets","locale":"","width":2560,"height":2284},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3652756,"resolution":"3","location":"assets","locale":"","width":2560,"height":1733},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3652756,"resolution":"4","location":"assets","locale":"","width":2560,"height":1000},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3652756,"resolution":"5","location":"assets","locale":"","width":2560,"height":2210},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3652756,"resolution":"6","location":"assets","locale":"","width":2560,"height":1547}},"screenshots":{"1":"The addon group builder \u2014 fields, options and pricing in one screen","2":"Addons on the product page \u2014 color swatches, buttons, pills and cards, with the live totals box","3":"The addon groups list \u2014 targeting, status and bulk actions at a glance","4":"Conditional logic (Premium): show or hide fields based on other answers","5":"Targeting by products, categories, tags and brands \u2014 plus user roles, with exclusions","6":"The six storefront styles previewed live in settings"}},"plugin_section":[],"plugin_tags":[2010,163084,149840,155785,286],"plugin_category":[45],"plugin_contributors":[161125,78154],"plugin_business_model":[],"class_list":["post-353798","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-fields","plugin_tags-extra-product-options","plugin_tags-product-addons","plugin_tags-product-options","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-bycrik","plugin_contributors-freemius","plugin_committers-bycrik"],"banners":{"banner":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/banner-772x250.png?rev=3652756","banner_2x":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/banner-1544x500.png?rev=3652756","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/icon-128x128.png?rev=3652775","icon_2x":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/icon-256x256.png?rev=3652801","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/screenshot-1.png?rev=3652756","caption":"The addon group builder \u2014 fields, options and pricing in one screen"},{"src":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/screenshot-2.png?rev=3652756","caption":"Addons on the product page \u2014 color swatches, buttons, pills and cards, with the live totals box"},{"src":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/screenshot-3.png?rev=3652756","caption":"The addon groups list \u2014 targeting, status and bulk actions at a glance"},{"src":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/screenshot-4.png?rev=3652756","caption":"Conditional logic (Premium): show or hide fields based on other answers"},{"src":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/screenshot-5.png?rev=3652756","caption":"Targeting by products, categories, tags and brands \u2014 plus user roles, with exclusions"},{"src":"https:\/\/ps.w.org\/u2code-product-addons-for-woocommerce\/assets\/screenshot-6.png?rev=3652756","caption":"The six storefront styles previewed live in settings"}],"raw_content":"<!--section=description-->\n<p>U2Code Product Addons lets customers personalize the products they buy \u2014 engraving text, gift wrap, image swatches, uploaded artwork, donations \u2014 and charges for it right on the product page, with a live totals box that updates as they pick.<\/p>\n\n<p>Build addon groups once and attach them to your whole catalog, to specific products, categories, tags or brands, or add fields to a single product from its own edit screen. No code, no shortcodes.<\/p>\n\n<p><strong><a href=\"https:\/\/demo.product-addons.com\/\">Try the live demo<\/a><\/strong> \u2014 the builder and the storefront, ready to click through.<\/p>\n\n<h4>Field types<\/h4>\n\n<ul>\n<li><strong>Multiple Choice<\/strong> \u2014 dropdown, radio buttons, checkboxes, buttons, pills, cards, or image and color swatches (square or circle)<\/li>\n<li><strong>Single Checkbox<\/strong> \u2014 gift wrap, express handling, an agreement to accept<\/li>\n<li><strong>Short Text<\/strong> \u2014 plain text, number, email, phone or URL, with optional character limits<\/li>\n<li><strong>Long Text<\/strong> \u2014 multi-line input for gift messages and instructions<\/li>\n<li><strong>Quantity<\/strong> \u2014 a numeric amount priced per unit<\/li>\n<li><strong>Date Picker<\/strong> \u2014 delivery and pickup dates, with selectable range limits<\/li>\n<li><strong>File Upload<\/strong> \u2014 artwork, photos and documents, with file type and size limits<\/li>\n<li><strong>Customer Defined Price<\/strong> \u2014 donations, tips, \"pay what you want\"<\/li>\n<li><strong>Heading<\/strong> \u2014 display-only text to structure long forms<\/li>\n<\/ul>\n\n<h4>Pricing<\/h4>\n\n<p>Charge a flat fee, a percentage of the product price, per quantity, or per character of what the customer types. Every price shows in a live totals box before add to cart and carries through the cart, checkout, order emails and the admin order screen.<\/p>\n\n<h4>Targeting<\/h4>\n\n<ul>\n<li>Assign addon groups to all products, or target specific products, categories, tags and brands \u2014 with exclusions<\/li>\n<li>Show fields only for selected variations of a variable product<\/li>\n<li>Reusable option sets, or import options straight from a product attribute<\/li>\n<\/ul>\n\n<h4>Design<\/h4>\n\n<p>Four storefront themes \u2014 Boxed, Compact, Bold and Soft \u2014 previewed live in the settings, or switch styling off entirely and use your theme's own look. All markup uses plain, prefixed CSS classes that are easy to override.<\/p>\n\n<h4>Fits into your store<\/h4>\n\n<ul>\n<li>Classic and block-based (Store API) cart and checkout<\/li>\n<li>Customers can reopen and edit their choices from the cart; you can edit them on the order from the admin<\/li>\n<li>Uploaded files live in a protected folder, and files never attached to an order are cleaned up automatically<\/li>\n<li>Multi-currency: WOOCS, CURCY, Aelia, WCML, WooPayments and Currency Switcher for WooCommerce<\/li>\n<li>WPML and Polylang, including targeting translated products<\/li>\n<li>Works alongside Tiered Pricing Table \u2014 addons stack correctly on tier prices<\/li>\n<li>HPOS compatible<\/li>\n<\/ul>\n\n<h4>Pro version<\/h4>\n\n<p>The paid version adds features for stores that need more:<\/p>\n\n<ul>\n<li><strong>Date Range<\/strong> field \u2014 a start and end date priced per day, for rentals and hire periods<\/li>\n<li><strong>Dimensions<\/strong> field \u2014 width \u00d7 height priced by area, for made-to-measure blinds, glass, fabric and signage<\/li>\n<li><strong>Users &amp; Roles<\/strong> \u2014 show addon groups only to certain roles or specific customers, or hide them from some<\/li>\n<li><strong>Multiple file uploads<\/strong> on a single File Upload field<\/li>\n<li><strong>Selection limits<\/strong> \u2014 require a minimum and maximum number of choices on multi-select fields<\/li>\n<li><strong>Conditional logic<\/strong> \u2014 show or hide any field based on what the customer picked in another, with unlimited rules<\/li>\n<\/ul>\n\n<p>Upgrade from the Product Addons screen inside the plugin.<\/p>\n\n<h3>Source code &amp; build<\/h3>\n\n<p>The admin app in <code>assets\/admin\/<\/code> is compiled with webpack. Its human-readable\nsource ships in this plugin under <code>js-source\/<\/code>. To rebuild it:<\/p>\n\n<ol>\n<li><code>cd js-source<\/code><\/li>\n<li><code>npm install<\/code><\/li>\n<li><code>npm run build<\/code><\/li>\n<\/ol>\n\n<p>The output is written to <code>assets\/admin\/<\/code>. Everything else in <code>assets\/<\/code> is\nhand-written and used as-is.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/u2code-product-addons-for-woocommerce<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin. WooCommerce must be installed and active.<\/li>\n<li>Go to <strong>Products \u2192 Addons<\/strong> to create your first addon group, or open the <strong>Product Addons<\/strong> tab on any product to add product-specific fields.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20addons%20work%20with%20variable%20products%3F\"><h3>Do addons work with variable products?<\/h3><\/dt>\n<dd><p>Yes. Fields render above the variations table, and individual fields can be limited to selected variations so they appear only after a matching variation is chosen.<\/p><\/dd>\n<dt id=\"do%20addons%20work%20with%20the%20block-based%20cart%20and%20checkout%3F\"><h3>Do addons work with the block-based cart and checkout?<\/h3><\/dt>\n<dd><p>Yes. Selections show on cart lines in both the classic and block-based cart. Products with file-upload fields still need the classic product page form, since files cannot travel in a Store API request.<\/p><\/dd>\n<dt id=\"can%20customers%20edit%20their%20choices%20from%20the%20cart%3F\"><h3>Can customers edit their choices from the cart?<\/h3><\/dt>\n<dd><p>Yes \u2014 an \"Edit options\" link on the cart line reopens the product page with everything prefilled, including the quantity.<\/p><\/dd>\n<dt id=\"where%20do%20uploaded%20customer%20files%20go%3F\"><h3>Where do uploaded customer files go?<\/h3><\/dt>\n<dd><p>Into a protected subdirectory of your uploads folder. Files not attached to any order are deleted automatically after a configurable number of days (<strong>WooCommerce \u2192 Settings \u2192 Products \u2192 Product Addons<\/strong>).<\/p><\/dd>\n<dt id=\"will%20it%20slow%20my%20store%20down%3F\"><h3>Will it slow my store down?<\/h3><\/dt>\n<dd><p>The storefront loads one small script and stylesheet, only on pages that actually show addons. The admin builder is a separate app that never loads on the storefront.<\/p><\/dd>\n<dt id=\"does%20deleting%20the%20plugin%20remove%20my%20data%3F\"><h3>Does deleting the plugin remove my data?<\/h3><\/dt>\n<dd><p>Only if you ask it to. Addon groups, settings and uploads are removed on uninstall only when you opt in to cleanup; otherwise everything is kept for reinstalling later.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0 - 2026-08-18<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Add extra product options with prices \u2014 swatches, text fields, checkboxes, uploads and more, with live price totals.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/353798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=353798"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bycrik"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=353798"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=353798"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=353798"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=353798"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=353798"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=353798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}