{"id":337260,"date":"2026-07-08T21:53:41","date_gmt":"2026-07-08T21:53:41","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/riaco-product-addons-for-woocommerce\/"},"modified":"2026-07-08T21:53:14","modified_gmt":"2026-07-08T21:53:14","slug":"riaco-product-addons-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/riaco-product-addons-for-woocommerce\/","author":8872771,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"RIACO Product Addons for WooCommerce","header_author":"Roberto Iacono","header_description":"Add custom fields and options to WooCommerce products with per-field pricing.","assets_banners_color":"828fbb","last_updated":"2026-07-08 21:53:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/riaco-product-addons-for-woocommerce\/","header_author_uri":"https:\/\/riacoplugins.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"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":"prototipo88","date":"2026-07-08 21:53:14"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-125x125.png":{"filename":"icon-125x125.png","revision":3600820,"resolution":"125x125","location":"assets","locale":"","width":125,"height":125},"icon-250x250.png":{"filename":"icon-250x250.png","revision":3600820,"resolution":"250x250","location":"assets","locale":"","width":250,"height":250}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3600820,"resolution":"1544x500","location":"assets","locale":"","width":1583,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3600820,"resolution":"772x250","location":"assets","locale":"","width":792,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3600820,"resolution":"1","location":"assets","locale":"","width":1178,"height":1799},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3600820,"resolution":"2","location":"assets","locale":"","width":877,"height":585},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3600820,"resolution":"3","location":"assets","locale":"","width":1125,"height":1380},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3600820,"resolution":"4","location":"assets","locale":"","width":868,"height":463},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3600820,"resolution":"5","location":"assets","locale":"","width":1366,"height":641},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3600820,"resolution":"6","location":"assets","locale":"","width":565,"height":1365},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3600820,"resolution":"7","location":"assets","locale":"","width":842,"height":377}},"screenshots":{"1":"The Addon Group admin screen with the field builder and condition rules.","2":"Frontend product page with live price breakdown.","3":"Addon values displayed on the admin order screen."}},"plugin_section":[],"plugin_tags":[2010,17536,149840,155785,286],"plugin_category":[45],"plugin_contributors":[238641],"plugin_business_model":[],"class_list":["post-337260","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-fields","plugin_tags-extra-fields","plugin_tags-product-addons","plugin_tags-product-options","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-prototipo88","plugin_committers-prototipo88"],"banners":{"banner":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/banner-772x250.png?rev=3600820","banner_2x":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/banner-1544x500.png?rev=3600820","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/riaco-product-addons-for-woocommerce_828fbb.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-1.png?rev=3600820","caption":"The Addon Group admin screen with the field builder and condition rules."},{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-2.png?rev=3600820","caption":"Frontend product page with live price breakdown."},{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-3.png?rev=3600820","caption":"Addon values displayed on the admin order screen."},{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-4.png?rev=3600820","caption":""},{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-5.png?rev=3600820","caption":""},{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-6.png?rev=3600820","caption":""},{"src":"https:\/\/ps.w.org\/riaco-product-addons-for-woocommerce\/assets\/screenshot-7.png?rev=3600820","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>RIACO Product Addons for WooCommerce<\/strong> lets you attach unlimited custom fields to your products \u2014 text inputs, dropdowns, radio buttons, checkboxes, file uploads, color pickers, date pickers, number fields, and more \u2014 each with optional extra pricing.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>10 field types<\/strong> \u2014 Text, Textarea, Select\/Dropdown, Radio Buttons, Checkbox Group, File Upload, Color Picker, Date Picker, Number, and True\/False toggle.<\/li>\n<li><strong>Per-field pricing<\/strong> \u2014 Add a fixed surcharge to any field or individual option. The price breakdown updates live on the product page.<\/li>\n<li><strong>Global Addon Groups<\/strong> \u2014 Create groups of fields once and assign them to all products, specific categories, or individual products using flexible AND\/OR condition rules.<\/li>\n<li><strong>Conditional logic<\/strong> \u2014 Show or hide fields based on the value of other fields. Supports equals, not equals, contains, is empty, and is not empty operators.<\/li>\n<li><strong>Display control<\/strong> \u2014 Choose independently whether addon choices appear in the cart, on the admin order screen, and in order emails.<\/li>\n<li><strong>HPOS compatible<\/strong> \u2014 Fully compatible with WooCommerce High-Performance Order Storage.<\/li>\n<li><strong>File uploads<\/strong> \u2014 Customers can upload files before adding to cart. Files are validated by extension and MIME type, stored in a temporary directory, and cleaned up automatically every 48 hours.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>riaco-product-addons-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>WooCommerce \u2192 Product Addons<\/strong> to create your first addon group.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce 8.0 or later is required.<\/p><\/dd>\n<dt id=\"which%20field%20types%20support%20per-option%20pricing%3F\"><h3>Which field types support per-option pricing?<\/h3><\/dt>\n<dd><p>Select\/Dropdown, Radio Buttons, and Checkbox Group fields each have a price field per option. All other field types support a single fixed price added when the field has any value (or when the True\/False checkbox is checked).<\/p><\/dd>\n<dt id=\"can%20i%20control%20who%20sees%20addon%20values%20in%20emails%20and%20the%20admin%20order%20screen%3F\"><h3>Can I control who sees addon values in emails and the admin order screen?<\/h3><\/dt>\n<dd><p>Yes. Each Addon Group has three checkboxes: <strong>Show in cart &amp; checkout<\/strong>, <strong>Show in admin order screen<\/strong>, and <strong>Include in order emails<\/strong>. These are set per group and copied to each order item at checkout time.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes. Addons apply to the base product and are stored with the cart item alongside the variation.<\/p><\/dd>\n<dt id=\"are%20block-based%20single%20product%20pages%20supported%3F\"><h3>Are block-based single product pages supported?<\/h3><\/dt>\n<dd><p>Not currently. The plugin hooks into <code>woocommerce_before_add_to_cart_button<\/code>, which is part of the classic single product template. The WooCommerce Blocks <code>AddToCartWithOptions<\/code> block is not yet supported.<\/p><\/dd>\n<dt id=\"how%20do%20i%20allow%20file%20uploads%3F\"><h3>How do I allow file uploads?<\/h3><\/dt>\n<dd><p>Create a field of type <strong>File Upload<\/strong>, set the allowed extensions (e.g. <code>jpg,png,pdf<\/code>) and max file size. The upload happens before the customer clicks Add to Cart, and the file URL is stored in the cart item.<\/p><\/dd>\n<dt id=\"i%20run%20nginx%20%E2%80%94%20are%20uploaded%20files%20protected%20from%20direct%20access%3F\"><h3>I run nginx \u2014 are uploaded files protected from direct access?<\/h3><\/dt>\n<dd><p>The plugin blocks direct HTTP access to its upload directories with <code>.htaccess<\/code> rules, which Apache honours but nginx ignores. On nginx, add a rule like this to your server block:<\/p>\n\n<pre><code>location ~* \/wp-content\/uploads\/riaco-pa- { deny all; }\n<\/code><\/pre><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Add custom fields and options to WooCommerce products with per-field pricing, conditional logic, and file uploads.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337260","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=337260"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/prototipo88"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337260"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337260"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337260"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337260"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337260"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}