{"id":290198,"date":"2026-04-06T22:01:27","date_gmt":"2026-04-06T22:01:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nudgio-technologies\/"},"modified":"2026-04-06T23:29:28","modified_gmt":"2026-04-06T23:29:28","slug":"nudgio-technologies","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/nudgio-technologies\/","author":23466174,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.6","stable_tag":"1.3.6","tested":"6.9.4","requires":"6.1","requires_php":"8.0","requires_plugins":null,"header_name":"Nudgio Technologies","header_author":"Buraro Technologies","header_description":"Display AI-powered product recommendations on your WooCommerce store using Nudgio's recommendation engine. Supports bestsellers, cross-sell, upsell, and similar products via simple shortcodes.","assets_banners_color":"","last_updated":"2026-04-06 23:29:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.nudgio.tech","header_author_uri":"https:\/\/www.buraro.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":116,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.5":{"tag":"1.3.5","author":"rbtrsv","date":"2026-04-06 22:00:55"},"1.3.6":{"tag":"1.3.6","author":"rbtrsv","date":"2026-04-06 23:29:28"}},"upgrade_notice":{"1.3.6":"<p>WooCommerce 10.x compatibility and translation loading fix.<\/p>","1.3.5":"<p>Gutenberg block now shows Widget Container and Widget Title panels in the sidebar.<\/p>","1.3.4":"<p>Size and weight fields now use integer pixel values instead of enum strings. Existing shortcodes using sm\/md\/lg values must be updated.<\/p>","1.3.3":"<p>Border radius and width fields now use integer pixel values. Gutenberg block uses slider controls.<\/p>","1.3.2":"<p>Single-column layout support for grid and carousel widgets.<\/p>","1.3.1":"<p>Sync endpoint rename \u2014 deploy server and plugin together.<\/p>","1.3.0":"<p>Automatic WooCommerce data sync. Products, orders, and order items now push to Nudgio automatically (every 6 hours + real-time on changes). Manual &quot;Sync Data&quot; button added to Settings.<\/p>","1.2.3":"<p>Added HTML debug comments for troubleshooting shortcode rendering issues.<\/p>","1.2.2":"<p>Fixed boolean fields (show_price, button_full_width) causing 422 errors on the server.<\/p>","1.2.1":"<p>Fixed short description for WordPress Plugin Directory compliance.<\/p>","1.2.0":"<p>Major visual overhaul: 35 settings in 8 groups replace the old 11-setting system. Gutenberg block fully rewritten. All new shortcode attributes. See changelog for details.<\/p>","1.1.0":"<p>Gutenberg block with full visual controls. New shortcode attributes: columns, size, widget_title, cta_text, show_price, image_aspect.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"nudgio\/recommendations":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"nudgio\/recommendations","version":"1.2.0","title":"Nudgio Technologies","category":"woocommerce","icon":"products","description":"Display AI-powered product recommendations from Nudgio. Supports bestsellers, cross-sell, upsell, and similar products with 35 visual settings in 8 groups.","keywords":["nudgio","recommendations","products","woocommerce","upsell","cross-sell"],"textdomain":"nudgio-technologies","editorScript":"file:.\/index.js","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"],"multiple":true},"attributes":{"type":{"type":"string","default":"bestsellers","enum":["bestsellers","cross-sell","upsell","similar"]},"count":{"type":"number","default":4},"product_id":{"type":"string","default":""},"lookback_days":{"type":"number","default":30},"method":{"type":"string","default":"volume","enum":["volume","value","balanced"]},"min_price_increase_percent":{"type":"number","default":10},"widget_bg_color":{"type":"string","default":"#FFFFFF"},"widget_padding":{"type":"number","default":16},"widget_title":{"type":"string","default":""},"title_color":{"type":"string","default":"#111827"},"title_size":{"type":"number","default":24},"title_alignment":{"type":"string","default":"left","enum":["left","center"]},"widget_style":{"type":"string","default":"grid","enum":["grid","carousel"]},"widget_columns":{"type":"number","default":4},"gap":{"type":"number","default":16},"card_min_width":{"type":"number","default":200},"card_max_width":{"type":"number","default":0},"card_bg_color":{"type":"string","default":"#FFFFFF"},"card_border_radius":{"type":"number","default":8},"card_border_width":{"type":"number","default":0},"card_border_color":{"type":"string","default":"#E5E7EB"},"card_shadow":{"type":"string","default":"md","enum":["none","sm","md","lg"]},"card_padding":{"type":"number","default":16},"card_hover":{"type":"string","default":"lift","enum":["none","lift","shadow","glow"]},"image_aspect_w":{"type":"number","default":1},"image_aspect_h":{"type":"number","default":1},"image_fit":{"type":"string","default":"cover","enum":["cover","contain"]},"image_radius":{"type":"number","default":8},"product_title_color":{"type":"string","default":"#1F2937"},"product_title_size":{"type":"number","default":14},"product_title_weight":{"type":"number","default":600},"product_title_lines":{"type":"number","default":2},"product_title_alignment":{"type":"string","default":"left","enum":["left","center"]},"show_price":{"type":"boolean","default":true},"price_color":{"type":"string","default":"#111827"},"price_size":{"type":"number","default":18},"button_text":{"type":"string","default":"View"},"button_bg_color":{"type":"string","default":"#3B82F6"},"button_text_color":{"type":"string","default":"#FFFFFF"},"button_radius":{"type":"number","default":6},"button_size":{"type":"number","default":14},"button_variant":{"type":"string","default":"solid","enum":["solid","outline","ghost"]},"button_full_width":{"type":"boolean","default":false}}}},"tagged_versions":["1.3.5","1.3.6"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[13788,139790,3669,1311,286],"plugin_category":[45,53],"plugin_contributors":[259582],"plugin_business_model":[],"class_list":["post-290198","plugin","type-plugin","status-publish","hentry","plugin_tags-cross-sell","plugin_tags-product-recommendations","plugin_tags-recommendations","plugin_tags-upsell","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-ratings-and-reviews","plugin_contributors-rbtrsv","plugin_committers-rbtrsv"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/nudgio-technologies.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Nudgio Technologies connects your WooCommerce store to the Nudgio recommendation engine to display personalized product recommendations on your storefront.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Bestseller recommendations based on real order data<\/li>\n<li>Cross-sell recommendations (\"frequently bought together\")<\/li>\n<li>Upsell recommendations (higher-priced alternatives)<\/li>\n<li>Similar product recommendations<\/li>\n<li>Simple <code>[nudgio]<\/code> shortcode with customizable attributes<\/li>\n<li>Gutenberg block with 35 visual settings in 8 organized groups \u2014 no shortcodes needed<\/li>\n<li>Auto-detects WooCommerce product ID on product pages<\/li>\n<li>HMAC-signed URLs \u2014 your API secret never appears in page source<\/li>\n<li>Full visual customization: widget container, title, layout, card, image, product title, price, and CTA button<\/li>\n<li>Iframe-based rendering \u2014 no CSS conflicts with your theme<\/li>\n<li>Auto-resizing iframes \u2014 content height adjusts automatically<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>A Nudgio account with an active connection (<a href=\"https:\/\/www.nudgio.tech\">nudgio.tech<\/a>)<\/li>\n<li>An API key generated from your Nudgio dashboard (Connection \u2192 API Keys tab)<\/li>\n<li>WooCommerce 7.0 or later<\/li>\n<li>PHP 8.0 or later<\/li>\n<\/ul>\n\n<p><strong>Third-Party Service:<\/strong><\/p>\n\n<p>This plugin connects to the Nudgio recommendation engine (<a href=\"https:\/\/www.nudgio.tech\">nudgio.tech<\/a>) to generate and display product recommendations. When a page containing a Nudgio shortcode or block is loaded, the plugin sends an HMAC-signed request to the Nudgio server with the Key ID, widget configuration parameters, and product ID (if applicable). No personal visitor data is collected or transmitted.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.nudgio.tech\/legal\/terms-of-service\">Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/www.nudgio.tech\/legal\/privacy-policy\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>nudgio<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Settings \u2192 Nudgio Technologies<\/li>\n<li>Enter your Key ID and API Secret from the Nudgio dashboard<\/li>\n<li>Click \"Test Connection\" to verify<\/li>\n<li>Add recommendations using the Gutenberg block (recommended) or <code>[nudgio]<\/code> shortcodes<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20get%20an%20api%20key%3F\"><h3>How do I get an API key?<\/h3><\/dt>\n<dd><ol>\n<li>Sign up at <a href=\"https:\/\/www.nudgio.tech\">nudgio.tech<\/a><\/li>\n<li>Create a WooCommerce connection<\/li>\n<li>Go to the connection's \"API Keys\" tab<\/li>\n<li>Click \"Generate Key\" \u2014 save the secret immediately (shown once)<\/li>\n<\/ol><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20gutenberg%20block%3F\"><h3>How do I use the Gutenberg block?<\/h3><\/dt>\n<dd><ol>\n<li>Edit any page or product \u2192 click the \"+\" block inserter<\/li>\n<li>Search for \"Nudgio Technologies\" (under WooCommerce category)<\/li>\n<li>Select the block \u2192 configure 35 visual settings in the sidebar, organized in 8 groups<\/li>\n<li>Publish \u2014 the widget renders automatically with your settings<\/li>\n<\/ol><\/dd>\n<dt id=\"is%20my%20api%20secret%20secure%3F\"><h3>Is my API secret secure?<\/h3><\/dt>\n<dd><p>Yes. The API secret is encrypted before storage in WordPress. It never appears in your page source \u2014 only the Key ID, timestamp, nonce, and HMAC signature are included in widget URLs.<\/p><\/dd>\n<dt id=\"what%20shortcode%20attributes%20are%20available%3F\"><h3>What shortcode attributes are available?<\/h3><\/dt>\n<dd><p><strong>Algorithm \/ Data:<\/strong>\n* <code>type<\/code> \u2014 bestsellers, cross-sell, upsell, similar (default: bestsellers)\n* <code>count<\/code> \u2014 number of products to show (default: 4)\n* <code>product_id<\/code> \u2014 specific product ID (auto-detected on product pages)\n* <code>lookback_days<\/code> \u2014 order data lookback period (default: 30)\n* <code>method<\/code> \u2014 bestseller method: volume, value, balanced (default: volume)\n* <code>min_price_increase_percent<\/code> \u2014 upsell price threshold (default: 10)<\/p>\n\n<p><strong>Widget Container:<\/strong>\n* <code>widget_bg_color<\/code> \u2014 hex color for widget background (default: #FFFFFF)\n* <code>widget_padding<\/code> \u2014 padding in pixels (default: 16)<\/p>\n\n<p><strong>Widget Title:<\/strong>\n* <code>widget_title<\/code> \u2014 custom widget heading (leave empty for auto-default)\n* <code>title_color<\/code> \u2014 hex color for title (default: #111827)\n* <code>title_size<\/code> \u2014 font-size in pixels (default: 24)\n* <code>title_alignment<\/code> \u2014 left, center (default: left)<\/p>\n\n<p><strong>Layout:<\/strong>\n* <code>widget_style<\/code> \u2014 grid, carousel (default: grid)\n* <code>widget_columns<\/code> \u2014 max columns at full width, 1-6 (default: 4)\n* <code>gap<\/code> \u2014 gap between cards in pixels (default: 16)\n* <code>card_min_width<\/code> \u2014 minimum card width in pixels (default: 200)\n* <code>card_max_width<\/code> \u2014 maximum card width in pixels, 0 = no limit (default: 0)<\/p>\n\n<p><strong>Product Card:<\/strong>\n* <code>card_bg_color<\/code> \u2014 hex color for card background (default: #FFFFFF)\n* <code>card_border_radius<\/code> \u2014 border radius in pixels (default: 8)\n* <code>card_border_width<\/code> \u2014 border width in pixels (default: 0)\n* <code>card_border_color<\/code> \u2014 hex color for card border (default: #E5E7EB)\n* <code>card_shadow<\/code> \u2014 none, sm, md, lg (default: md)\n* <code>card_padding<\/code> \u2014 card content padding in pixels (default: 16)\n* <code>card_hover<\/code> \u2014 none, lift, shadow, glow (default: lift)<\/p>\n\n<p><strong>Product Image:<\/strong>\n* <code>image_aspect_w<\/code> \u2014 image aspect ratio width, 1-20 (default: 1)\n* <code>image_aspect_h<\/code> \u2014 image aspect ratio height, 1-20 (default: 1)\n* <code>image_fit<\/code> \u2014 cover, contain (default: cover)\n* <code>image_radius<\/code> \u2014 image border radius in pixels (default: 8)<\/p>\n\n<p><strong>Product Title:<\/strong>\n* <code>product_title_color<\/code> \u2014 hex color for product title (default: #1F2937)\n* <code>product_title_size<\/code> \u2014 font-size in pixels (default: 14)\n* <code>product_title_weight<\/code> \u2014 CSS font-weight 100-900 (default: 600)\n* <code>product_title_lines<\/code> \u2014 max lines before truncation, 1-3 (default: 2)\n* <code>product_title_alignment<\/code> \u2014 left, center (default: left)<\/p>\n\n<p><strong>Price:<\/strong>\n* <code>show_price<\/code> \u2014 show product price: true\/false (default: true)\n* <code>price_color<\/code> \u2014 hex color for price (default: #111827)\n* <code>price_size<\/code> \u2014 font-size in pixels (default: 18)<\/p>\n\n<p><strong>CTA Button:<\/strong>\n* <code>button_text<\/code> \u2014 button text, e.g. View, Shop Now (default: View)\n* <code>button_bg_color<\/code> \u2014 hex color for button background (default: #3B82F6)\n* <code>button_text_color<\/code> \u2014 hex color for button text (default: #FFFFFF)\n* <code>button_radius<\/code> \u2014 button border radius in pixels (default: 6)\n* <code>button_size<\/code> \u2014 font-size in pixels (default: 14)\n* <code>button_variant<\/code> \u2014 solid, outline, ghost (default: solid)\n* <code>button_full_width<\/code> \u2014 stretch button to full width: true\/false (default: false)<\/p><\/dd>\n<dt id=\"do%20cross-sell%2Fupsell%2Fsimilar%20work%20on%20non-product%20pages%3F\"><h3>Do cross-sell\/upsell\/similar work on non-product pages?<\/h3><\/dt>\n<dd><p>These types require a product context. On non-product pages, the shortcode outputs nothing unless you specify a <code>product_id<\/code> attribute explicitly.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Updated WC tested up to from 9.0 to 10.6<\/li>\n<li>Updated WP tested up to from 6.9 to 6.9.4<\/li>\n<li>Fixed translation loading timing (moved to init hook)<\/li>\n<li>Removed invalid contributor from readme<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Added Widget Container and Widget Title panels to Gutenberg block sidebar<\/li>\n<li>Widget Container panel includes widget_padding RangeControl<\/li>\n<li>Widget Title panel includes title, color, size, and alignment controls<\/li>\n<li>Version bump<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Converted 5 size enum fields from string to integer: title_size, product_title_size, product_title_weight, price_size, button_size<\/li>\n<li>Size fields now accept pixel values (e.g. title_size=24) instead of enum strings (sm\/md\/lg)<\/li>\n<li>Font weight accepts CSS font-weight values (100-900) instead of named weights (normal\/semibold\/bold)<\/li>\n<li>Gutenberg block uses RangeControl sliders for all size and weight fields<\/li>\n<li>Admin settings page uses number inputs with min\/max validation<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Converted border radius and width fields from string to integer (card_border_radius, card_border_width, image_radius, button_radius)<\/li>\n<li>Settings now use number inputs with pixel values instead of CSS strings<\/li>\n<li>Gutenberg block uses RangeControl sliders for all border\/radius fields<\/li>\n<li>Fixed stale activation defaults for widget_padding, gap, card_padding, image_aspect<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Allow single-column layout (widget_columns minimum lowered from 2 to 1)<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Renamed sync endpoints from \/plugin-sync to \/woocommerce-sync (requires server update deployed simultaneously)<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added automatic WooCommerce data sync \u2014 products, orders, and order items are pushed to the Nudgio server via HMAC-authenticated endpoints<\/li>\n<li>New \"Sync Data\" button on Settings page with last sync status display<\/li>\n<li>WP-Cron scheduled sync every 6 hours<\/li>\n<li>Real-time sync on product create\/update and order status changes (completed, processing)<\/li>\n<li>Single product and single order sync methods for granular real-time updates<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Added HTML debug comments visible in View Source for troubleshooting (credentials, product detection, guard triggers)<\/li>\n<li>Shows detected product_id and is_product_page status in HTML comments<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed boolean serialization for show_price and button_full_width \u2014 sanitize_text_field(false) produced empty string which FastAPI rejected with 422<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed short description exceeding 150-character limit for WordPress Plugin Directory<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Replaced 11-setting visual system with 35 individually configurable settings in 8 groups<\/li>\n<li>Widget Container: independent background color and padding control<\/li>\n<li>Widget Title: separate color, size, and alignment settings<\/li>\n<li>Layout: renamed style\u2192widget_style, columns\u2192widget_columns, added gap control<\/li>\n<li>Product Card: 7 new settings \u2014 background, border radius\/width\/color, shadow, padding, hover effect<\/li>\n<li>Product Image: added image fit (cover\/contain) and image border radius<\/li>\n<li>Product Title: 5 new settings \u2014 color, size, weight, max lines, alignment<\/li>\n<li>Price: separate color and size controls<\/li>\n<li>CTA Button: 7 new settings \u2014 text, background color, text color, border radius, size, variant (solid\/outline\/ghost), full width<\/li>\n<li>Gutenberg block rewritten with 10 editor panels and 35 sidebar controls<\/li>\n<li>Admin settings page reorganized with reusable field helpers (color, select, text, number, boolean)<\/li>\n<li>Prominent Gutenberg block instructions added to settings page<\/li>\n<li>Uninstall cleanup updated for all new option names + legacy cleanup<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added Gutenberg block with visual editor controls<\/li>\n<li>Added responsive columns setting (2-6)<\/li>\n<li>Added size setting (compact, default, spacious)<\/li>\n<li>Added widget_title, cta_text, show_price, image_aspect shortcode attributes<\/li>\n<li>Updated shortcode to pass all visual parameters through HMAC-signed URLs<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Shortcode with HMAC-signed iframe URLs<\/li>\n<li>Admin settings page with WP Settings API<\/li>\n<li>Test Connection functionality<\/li>\n<li>Auto-detection of WooCommerce product ID<\/li>\n<li>Encrypted API secret storage<\/li>\n<li>Auto-resizing iframes via postMessage<\/li>\n<\/ul>","raw_excerpt":"AI-powered product recommendations for WooCommerce \u2014 bestsellers, cross-sell, upsell, and similar products.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/290198","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=290198"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rbtrsv"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=290198"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=290198"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=290198"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=290198"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=290198"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=290198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}