{"id":220842,"date":"2025-03-30T12:35:32","date_gmt":"2025-03-30T12:35:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/custom-checkbox-ultimate-for-woocommerce\/"},"modified":"2026-10-22T06:21:05","modified_gmt":"2026-10-22T06:21:05","slug":"custom-checkbox-ultimate-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/srd.wordpress.org\/plugins\/custom-checkbox-ultimate-for-woocommerce\/","author":10402889,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4","stable_tag":"1.4","tested":"7.1.4","requires":"6.3","requires_php":"7.2","requires_plugins":null,"header_name":"Custom Checkbox Ultimate for WooCommerce","header_author":"sandy786","header_description":"Add customizable checkbox options on WooCommerce product pages for additional services and charges.","assets_banners_color":"97999b","last_updated":"2026-10-22 06:21:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.insertcart.com\/insertcart-custom-checkbox-ultimate-for-woocommerce-documentation\/","header_author_uri":"https:\/\/www.insertcart.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":838,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3":{"tag":"1.3","author":"sandy786","date":"2025-03-30 12:35:15","revision":3264079},"1.4":{"tag":"1.4","author":"sandy786","date":"2026-10-22 06:21:05","revision":3759386}},"upgrade_notice":{"1.4":"<p>Security and reliability update. Service prices now come from saved product settings. Includes a setup guide and improved cart\/order handling. Test on staging before updating your live store.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3264079,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3264079,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3264079,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3264079,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3264079,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3","1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3759386,"resolution":"1","location":"assets","locale":"","width":1440,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3759386,"resolution":"2","location":"assets","locale":"","width":1440,"height":1000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3759386,"resolution":"3","location":"assets","locale":"","width":1440,"height":1000},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3759386,"resolution":"4","location":"assets","locale":"","width":1440,"height":1000}},"screenshots":{"1":"Checkbox service fields with names, prices, and descriptions, rendered with a sample product.","2":"Radio service fields with alternative choices and an additional row.","3":"Product service options, descriptions, prices, and the no-service radio choice.","4":"The setup guide included in version 1.4. Screenshots use actual plugin output in a local test harness."}},"plugin_section":[],"plugin_tags":[5578,287898,65790,15955,286],"plugin_category":[45],"plugin_contributors":[240180],"plugin_business_model":[],"class_list":["post-220842","plugin","type-plugin","status-publish","hentry","plugin_tags-checkbox","plugin_tags-extra-services","plugin_tags-product-add-ons","plugin_tags-radio-buttons","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-sandy786","plugin_committers-sandy786"],"banners":{"banner":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/banner-772x250.png?rev=3264079","banner_2x":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/banner-1544x500.png?rev=3264079","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/icon.svg?rev=3264079","icon":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/icon.svg?rev=3264079","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/screenshot-1.png?rev=3759386","caption":"Checkbox service fields with names, prices, and descriptions, rendered with a sample product."},{"src":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/screenshot-2.png?rev=3759386","caption":"Radio service fields with alternative choices and an additional row."},{"src":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/screenshot-3.png?rev=3759386","caption":"Product service options, descriptions, prices, and the no-service radio choice."},{"src":"https:\/\/ps.w.org\/custom-checkbox-ultimate-for-woocommerce\/assets\/screenshot-4.png?rev=3759386","caption":"The setup guide included in version 1.4. Screenshots use actual plugin output in a local test harness."}],"raw_content":"<!--section=description-->\n<p>Offer gift wrapping, assembly, premium packaging, and other optional services on WooCommerce product pages. Configure services for each product in the classic product editor.<\/p>\n\n<ul>\n<li>Checkbox services: customers can select several options.<\/li>\n<li>Radio services: customers choose at most one option or no additional service.<\/li>\n<li>Set a name, non-negative price, and description for each service. Free services are supported.<\/li>\n<li>Start with five rows per type and add more when needed.<\/li>\n<li>Service prices come from saved product settings, never customer-submitted prices.<\/li>\n<li>Selected services increase the product unit price and appear in the cart, checkout, order details, and standard emails.<\/li>\n<li>Works with simple products and parent-level services on variable products.<\/li>\n<li>Supports HPOS and classic or block cart\/checkout for items added through the standard product form.<\/li>\n<\/ul>\n\n<p>Descriptions are displayed beside the service options, including for keyboard and touch users. The product headline price does not update as options are selected; the adjusted price appears in the cart.<\/p>\n\n<h4>Documentation and first setup<\/h4>\n\n<p>Open <strong>IC Woo Ultimate<\/strong> in the WordPress dashboard for the included setup guide. You can also use <strong>Plugins &gt; Setup guide<\/strong> or the guide link inside the Custom Services product meta box. The included guide works without an external website.<\/p>\n\n<p><a href=\"https:\/\/www.insertcart.com\/insertcart-custom-checkbox-ultimate-for-woocommerce-documentation\/\">Online documentation<\/a> | <a href=\"https:\/\/wordpress.org\/support\/plugin\/custom-checkbox-ultimate-for-woocommerce\/\">Support forum<\/a> | <a href=\"https:\/\/www.insertcart.com\/contact-us\/\">Contact InsertCart<\/a><\/p>\n\n<h4>How pricing works<\/h4>\n\n<p>Services are charged per product unit, in the store currency. A product priced at 20 with a service priced at 5 has a unit price of 25. Quantity 2 has a subtotal of 50 before taxes, discounts, and shipping. WooCommerce applies product taxes and coupons to the combined product price. Services are not separate cart fees.<\/p>\n\n<h4>Compatibility limits<\/h4>\n\n<p>Service selection uses the standard WooCommerce product add-to-cart form. This release does not provide selection controls for the block Add to Cart form, direct Store API additions, shop-loop quick add, or third-party custom product forms. Variable products share the parent product's services. Test grouped, external, bundled, and subscription products separately.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>No analytics or service data is sent to an external server. Product settings are stored in WordPress product metadata. Selections are stored in WooCommerce carts and order item metadata. Deactivation preserves settings and historical orders.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Install Custom Checkbox Ultimate for WooCommerce from Plugins &gt; Add New, or upload the plugin ZIP.<\/li>\n<li>Activate the plugin and open IC Woo Ultimate for the included guide.<\/li>\n<li>Edit a product and locate Custom Services - IC Woo Ultimate. If hidden, enable it in Screen Options.<\/li>\n<li>Configure Checkbox Type and\/or Radio Type, then update the product.<\/li>\n<li>Test the product page, cart, checkout, and a sample order before using it on your live store.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20are%20the%20service%20settings%3F\"><h3>Where are the service settings?<\/h3><\/dt>\n<dd><p>Edit a product in the classic product editor and use Custom Services - IC Woo Ultimate. There is no global WooCommerce settings tab for configuring service rows.<\/p><\/dd>\n<dt id=\"can%20i%20add%20more%20than%20five%20services%3F\"><h3>Can I add more than five services?<\/h3><\/dt>\n<dd><p>Yes. Use Add More Fields in either type. Blank service names are ignored. Clear the name and update the product to remove a service.<\/p><\/dd>\n<dt id=\"are%20services%20required%20or%20preselected%3F\"><h3>Are services required or preselected?<\/h3><\/dt>\n<dd><p>No. Checkboxes start unchecked. Radio services include a no-service choice.<\/p><\/dd>\n<dt id=\"can%20services%20be%20free%3F\"><h3>Can services be free?<\/h3><\/dt>\n<dd><p>Yes. Enter 0 as the service price. Negative prices are not supported.<\/p><\/dd>\n<dt id=\"do%20services%20work%20with%20variations%3F\"><h3>Do services work with variations?<\/h3><\/dt>\n<dd><p>Yes. Configure services on the parent product; they are added to the chosen variation's unit price. Per-variation service definitions are not provided.<\/p><\/dd>\n<dt id=\"why%20is%20the%20product%20page%20price%20unchanged%3F\"><h3>Why is the product page price unchanged?<\/h3><\/dt>\n<dd><p>This release shows each service price beside its option. The product's combined price is calculated after adding it to the cart.<\/p><\/dd>\n<dt id=\"why%20are%20selections%20missing%3F\"><h3>Why are selections missing?<\/h3><\/dt>\n<dd><p>Check that your theme renders the standard add-to-cart form and refresh the product page to obtain a fresh form nonce. Exclude cart and checkout from page caching. Shop-loop quick add and block product forms do not collect selections.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20service%20price%20changes%3F\"><h3>What happens when a service price changes?<\/h3><\/dt>\n<dd><p>New additions use the saved product price. Existing 1.4 cart selections retain their recorded service amount; remove and re-add the product to use new settings. Legacy 1.3 cart entries are resolved against current settings. Historical orders retain their stored line item details.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4<\/h4>\n\n<ul>\n<li>Security: use saved service prices instead of submitted form prices; validate malformed requests and product editor fields.<\/li>\n<li>Fix checkbox names containing spaces or capital letters and group radio choices correctly.<\/li>\n<li>Keep add-on prices on cart lines and avoid adding charges twice during repeated totals calculations.<\/li>\n<li>Preserve existing services when saved rows contain gaps and support free services.<\/li>\n<li>Improve accessible service descriptions and provide an explicit no-radio-service option.<\/li>\n<li>Add an accurate built-in setup guide, product help link, Plugins list links, and a one-time introduction for store managers.<\/li>\n<li>Guard against missing WooCommerce and limit admin styling to plugin\/product screens.<\/li>\n<li>Declare HPOS and Cart\/Checkout block compatibility for selections made on standard product forms.<\/li>\n<li>Verified locally with WordPress 7.1.3 and WooCommerce 10.3.5.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Initial release with checkbox and radio services, service descriptions, and cart\/order integration.<\/li>\n<\/ul>","raw_excerpt":"Add optional checkbox and radio services to WooCommerce products, with per-unit prices and service details in the cart and orders.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/220842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=220842"}],"author":[{"embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sandy786"}],"wp:attachment":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=220842"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=220842"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=220842"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=220842"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=220842"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=220842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}