[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fd62SxckbqIz4nXthlVlUAz6OfsEU-JFBCc_mjyb4x1M":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"sawirricardo","Ricardo Sawir","https:\u002F\u002Fprofiles.wordpress.org\u002Fsawirricardo\u002F",6,0,100,30,94,"2026-08-28T21:30:08.521Z",[14,35,49,64,78,92],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":23,"requires_php":24,"tags":25,"homepage":31,"download_link":32,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"sawir-insights","Sawir Insights","1.0.0","\u003Cp>Sawir Insights is behavioral analytics for WordPress: heatmaps, session recordings, surveys, a feedback widget, form analytics, conversion funnels, and a dashboard that ties them together.\u003C\u002Fp>\n\u003Cp>On multisite networks, each site tracks and configures its analytics independently.\u003C\u002Fp>\n\u003Cp>The reason it exists is simple. The established tools in this category are good, but they work by shipping a record of everything your visitors do to someone else’s servers. For a lot of sites — especially in the EU — that is somewhere between uncomfortable and unworkable. I wanted the same class of tooling where the data never leaves the site that collected it. So that is the constraint this plugin is built around: your database, your uploads directory, your retention rules. There is no SaaS behind it, no account to create, and no phone-home of any kind.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What it does\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Click, movement, and scroll heatmaps, rendered over your live pages, split by desktop, tablet, and mobile.\u003C\u002Fli>\n\u003Cli>Session recordings with playback in wp-admin. Input values are always masked; recording is off until you turn it on.\u003C\u002Fli>\n\u003Cli>Popup surveys and a persistent feedback tab, with targeting by URL, device, traffic percentage, time on page, scroll depth, or exit intent.\u003C\u002Fli>\n\u003Cli>Form analytics: where people hesitate, what they leave empty, where they abandon. Selectors and timing only — never what anyone typed.\u003C\u002Fli>\n\u003Cli>Ordered conversion funnels with daily reports.\u003C\u002Fli>\n\u003Cli>A dashboard with traffic KPIs and period deltas, a daily trend chart, and device, browser, page, referrer, campaign, funnel, and recording breakdowns.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>What it deliberately does not do\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>I think you should know what a tool refuses to do before you install it.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>It does not store IP addresses. Not hashed, not truncated — at all.\u003C\u002Fli>\n\u003Cli>It does not record form values, ever. The capture layer sends metadata only, so there is nothing to leak.\u003C\u002Fli>\n\u003Cli>It does not load anything from a CDN or send anything to one. The rrweb replay library ships inside the plugin.\u003C\u002Fli>\n\u003Cli>It does not keep raw data forever. Events are aggregated and pruned on a retention schedule you control, and recordings have their own retention and a disk cap with oldest-first eviction, because a plugin that quietly fills your hosting disk is a bad plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The frontend tracker is small vanilla JavaScript, batched over \u003Ccode>sendBeacon\u003C\u002Fcode>, with sampling controls. Visitors who are not sampled into recording never download the replay library at all.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy posture\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Do Not Track is honored by default. A consent-mode API (\u003Ccode>window.swinsConsent\u003C\u002Fcode>) integrates with whatever consent manager you already run. Sessions, events, and recordings are wired into WordPress’s own personal-data export and erasure tools. Whether your specific deployment is GDPR compliant depends on your notices and legal basis — that part no plugin can do for you — but the data-minimization work is done.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Support\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Support runs through the wordpress.org forum for this plugin, or email ricardo@sawirstudio.com.\u003C\u002Fp>\n\u003Ch4>More free plugins from Sawir Studio\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-live-translate\u002F\" rel=\"ugc\">Sawir Live Translate\u003C\u002Fa> — Translate any front-end page live: pick a language, auto-translate the visible strings, save them, and let visitors switch languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-media-folders\u002F\" rel=\"ugc\">Sawir Media Folders\u003C\u002Fa> — Fast, unlimited folders for the WordPress media library with drag & drop.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-min-max-quantities-for-woocommerce\u002F\" rel=\"ugc\">Sawir Min Max Quantities for WooCommerce\u003C\u002Fa> — Set minimum and maximum purchase quantity rules for WooCommerce products, product categories, and the whole order.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\" rel=\"ugc\">Sawir Product Image Zoom for WooCommerce\u003C\u002Fa> — Adds a product image lightbox with navigation and click-to-zoom to WooCommerce product galleries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-pulse\u002F\" rel=\"ugc\">Sawir Pulse – Live Sales & Social Proof for WooCommerce\u003C\u002Fa> — Live social proof from real activity: recent orders, live viewers, and reviews as corner notifications. No fake notifications, ever.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-referral\u002F\" rel=\"ugc\">Sawir Referral – Refer a Friend for WooCommerce\u003C\u002Fa> — Give-and-get referral program for WooCommerce. Friends get a discount, advocates earn a reward coupon — shared by code or link, WhatsApp-first.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-restock-notifier-for-woocommerce\u002F\" rel=\"ugc\">Sawir Restock Notifier for WooCommerce\u003C\u002Fa> — Let customers request an email notification when an out-of-stock WooCommerce product is back in stock.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-role-capabilities-manager\u002F\" rel=\"ugc\">Sawir Role Capabilities Manager\u003C\u002Fa> — Create custom user roles and manage capabilities for new and existing WordPress roles.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-variation-gallery-tools-woocommerce\u002F\" rel=\"ugc\">Sawir Variation Gallery Tools for WooCommerce\u003C\u002Fa> — Manage variation-specific gallery images in WooCommerce. Works with Sawir Product Image Zoom for WooCommerce.\u003C\u002Fli>\n\u003C\u002Ful>\n","Heatmaps, session recordings, surveys, funnels, and form analytics. Everything stays on your server.",71,"2026-07-21T10:48:00.000Z","7.0.2","6.2","7.4",[26,27,28,29,30],"analytics","heatmap","privacy","session-recording","survey","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-insights\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsawir-insights.1.0.0.zip",null,"2026-07-22T17:31:50.256Z",{"slug":36,"name":37,"version":38,"author":5,"author_profile":6,"description":39,"short_description":40,"active_installs":8,"downloaded":41,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":42,"requires_php":24,"tags":43,"homepage":47,"download_link":48,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"sawir-live-translate","Sawir Live Translate","1.1.0","\u003Cp>Open any page on your site, click “Translate this page” in the admin bar, choose a\u003Cbr \u002F>\ntarget language, and either auto-translate every visible string (via a free\u003Cbr \u002F>\nmachine-translation service) or edit translations by hand while seeing the page\u003Cbr \u002F>\nupdate live.\u003C\u002Fp>\n\u003Cp>Saved translations are rendered server-side into the HTML response (SEO-friendly:\u003Cbr \u002F>\nno flash of untranslated text, and hreflang alternates in the head), and visitors\u003Cbr \u002F>\nswitch languages via a link-based switcher (bottom-right).\u003C\u002Fp>\n\u003Cp>Developed by Ricardo Sawir for Sawir Studio LLC.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Website: https:\u002F\u002Fsawirstudio.com\u003C\u002Fli>\n\u003Cli>X: https:\u002F\u002Fx.com\u002FRicardoSawir\u003C\u002Fli>\n\u003Cli>GitHub: https:\u002F\u002Fgithub.com\u002Fsawirricardo\u003C\u002Fli>\n\u003Cli>Email: ricardo@sawirstudio.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>URLs use a language path prefix, e.g. \u002Fes\u002Fabout for Spanish, \u002Fabout for the source\u003Cbr \u002F>\nlanguage (which stays canonical, un-prefixed). Language is resolved in this order:\u003Cbr \u002F>\n\u002Fes\u002F path \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> ?lang=es \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> saved cookie \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> browser Accept-Language \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> source. Root and\u003Cbr \u002F>\nprefix-less URLs auto-detect the visitor’s browser language without redirecting\u003Cbr \u002F>\n(a Vary header is sent so shared caches behave).\u003C\u002Fp>\n\u003Col>\n\u003Cli>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Live Translate: set your source language and tick the languages to offer.\u003C\u002Fli>\n\u003Cli>Visit a front-end page and click “🌐 Translate this page” in the admin bar.\u003C\u002Fli>\n\u003Cli>Pick a language, hit “Auto-translate empty” (or edit strings), then “Save”.\u003C\u002Fli>\n\u003Cli>Visitors use the switcher (bottom-right); each language has its own \u002Fxx\u002F URL.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Note: language path prefixes assume a root-domain install and no top-level page\u003Cbr \u002F>\nwhose slug is a two-letter language code.\u003C\u002Fp>\n\u003Ch4>More free plugins from Sawir Studio\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-insights\u002F\" rel=\"ugc\">Sawir Insights\u003C\u002Fa> — Heatmaps, session recordings, surveys, funnels, and form analytics. Everything stays on your server.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-media-folders\u002F\" rel=\"ugc\">Sawir Media Folders\u003C\u002Fa> — Fast, unlimited folders for the WordPress media library with drag & drop.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-min-max-quantities-for-woocommerce\u002F\" rel=\"ugc\">Sawir Min Max Quantities for WooCommerce\u003C\u002Fa> — Set minimum and maximum purchase quantity rules for WooCommerce products, product categories, and the whole order.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\" rel=\"ugc\">Sawir Product Image Zoom for WooCommerce\u003C\u002Fa> — Adds a product image lightbox with navigation and click-to-zoom to WooCommerce product galleries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-pulse\u002F\" rel=\"ugc\">Sawir Pulse – Live Sales & Social Proof for WooCommerce\u003C\u002Fa> — Live social proof from real activity: recent orders, live viewers, and reviews as corner notifications. No fake notifications, ever.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-referral\u002F\" rel=\"ugc\">Sawir Referral – Refer a Friend for WooCommerce\u003C\u002Fa> — Give-and-get referral program for WooCommerce. Friends get a discount, advocates earn a reward coupon — shared by code or link, WhatsApp-first.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-restock-notifier-for-woocommerce\u002F\" rel=\"ugc\">Sawir Restock Notifier for WooCommerce\u003C\u002Fa> — Let customers request an email notification when an out-of-stock WooCommerce product is back in stock.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-role-capabilities-manager\u002F\" rel=\"ugc\">Sawir Role Capabilities Manager\u003C\u002Fa> — Create custom user roles and manage capabilities for new and existing WordPress roles.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-variation-gallery-tools-woocommerce\u002F\" rel=\"ugc\">Sawir Variation Gallery Tools for WooCommerce\u003C\u002Fa> — Manage variation-specific gallery images in WooCommerce. Works with Sawir Product Image Zoom for WooCommerce.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin’s optional “Auto-translate” feature (admin-only, triggered manually\u003Cbr \u002F>\nby clicking an Auto-translate\u002FTranslate button) sends the source text strings\u003Cbr \u002F>\nand the chosen language pair to the MyMemory translation API\u003Cbr \u002F>\n(https:\u002F\u002Fmymemory.translated.net\u002F) to fetch machine translations. The request\u003Cbr \u002F>\nis made from the administrator’s browser only when they click the button; no\u003Cbr \u002F>\nvisitor data is ever sent, and nothing is sent automatically.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service terms: https:\u002F\u002Fmymemory.translated.net\u002Fdoc\u002Fen\u002Ftos.php\u003C\u002Fli>\n\u003Cli>Privacy policy: https:\u002F\u002Fmymemory.translated.net\u002Fdoc\u002Fen\u002Fprivacy.php\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Developers can swap the provider — see “Custom translation provider” below.\u003C\u002Fp>\n\u003Ch3>Native WordPress localization (dates, core\u002Ftheme strings)\u003C\u002Fh3>\n\u003Cp>On a translated request the plugin switches WordPress’s locale to the target\u003Cbr \u002F>\nlanguage, so dates (month\u002Fday names) and any \u003Cem>installed\u003C\u002Fem> core, theme, and plugin\u003Cbr \u002F>\ntranslations render natively — the string map only covers the rest.\u003C\u002Fp>\n\u003Cp>For this to have visible effect the language pack must be installed. The easiest\u003Cbr \u002F>\nway is Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> General \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Site Language: pick and save the language once (which\u003Cbr \u002F>\ndownloads its pack), then switch back to your source language. Languages without\u003Cbr \u002F>\nan installed pack still work for content translation; only native dates\u002Fstrings\u003Cbr \u002F>\nare skipped. Map codes to custom WP locales with the ‘sawir_lt_wp_locale’ filter.\u003C\u002Fp>\n\u003Ch3>Scan site for strings\u003C\u002Fh3>\n\u003Cp>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Live Translate \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Scan site now” crawls your published pages, posts,\u003Cbr \u002F>\nand public archives to discover every translatable string up front (batched, with\u003Cbr \u002F>\na progress indicator). Discovered strings then appear in the “Edit all site\u003Cbr \u002F>\nstrings” section right below, where you can pick a language and translate, auto-\u003Cbr \u002F>\ntranslate, or bulk-import the whole site at once instead of page by page. Note:\u003Cbr \u002F>\nmachine translation is still rate-limited by the free service, so for large sites\u003Cbr \u002F>\nuse Bulk edit to export and translate elsewhere.\u003C\u002Fp>\n\u003Ch3>Multisite\u003C\u002Fh3>\n\u003Cp>Multisite-aware. Each subsite has its own settings and its own translations table,\u003Cbr \u002F>\nconfigured independently. Tables are created on network activation, when a new\u003Cbr \u002F>\nsubsite is created, and lazily on first admin visit; uninstall cleans every site\u003Cbr \u002F>\non the network.\u003C\u002Fp>\n\u003Ch3>Custom switcher\u003C\u002Fh3>\n\u003Cp>Turn off “Built-in switcher” in settings and render your own anywhere in your\u003Cbr \u002F>\ntheme using sawir_lt_switcher_links(), which returns the language links for the\u003Cbr \u002F>\ncurrent page:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php if ( function_exists( 'sawir_lt_switcher_links' ) ) : ?>\n  \u003Cul class=\"my-lang-switcher\">\n  \u003C?php foreach ( sawir_lt_switcher_links() as $l ) : ?>\n    \u003Cli>\n      \u003Ca href=\"\u003C?php echo esc_url( $l['url'] ); ?>\"\u003C?php echo $l['active'] ? ' aria-current=\"true\"' : ''; ?>>\n        \u003C?php echo esc_html( $l['name'] ); ?>\n      \u003C\u002Fa>\n    \u003C\u002Fli>\n  \u003C?php endforeach; ?>\n  \u003C\u002Ful>\n\u003C?php endif; ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Each item is [‘code’,’name’,’url’,’active’,’is_source’] (code is ” for the\u003Cbr \u002F>\nsource language). sawir_lt_current_lang() returns the active language code.\u003C\u002Fp>\n\u003Ch3>Custom translation provider\u003C\u002Fh3>\n\u003Cp>Auto-translate uses the free MyMemory API by default. To use your own provider\u003Cbr \u002F>\n(DeepL, Google, a local model, …), reassign window.SawirLT.translate from a\u003Cbr \u002F>\nscript enqueued after the ‘sawir-lt-walk’ handle. Signature: it receives the\u003Cbr \u002F>\nsource text and the two language codes, and returns a Promise resolving to the\u003Cbr \u002F>\ntranslated string. Every auto-translate path (in-page editor and admin bulk\u003Cbr \u002F>\ntranslate) routes through it.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'admin_enqueue_scripts', 'myprefix_lt_provider' );\nadd_action( 'wp_enqueue_scripts', 'myprefix_lt_provider' );\nfunction myprefix_lt_provider() {\n    if ( wp_script_is( 'sawir-lt-walk', 'registered' ) ) {\n        wp_enqueue_script( 'myprefix-lt-provider',\n            plugins_url( 'provider.js', __FILE__ ),\n            array( 'sawir-lt-walk' ), '1.0.0', true );\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>provider.js:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>window.SawirLT.translate = function ( text, source, target ) {\n    return fetch( 'https:\u002F\u002Fexample.com\u002Ftranslate', {\n        method: 'POST',\n        body: JSON.stringify( { text: text, from: source, to: target } )\n    } ).then( function ( r ) { return r.json(); } )\n      .then( function ( j ) { return j.translation; } );\n};\u003Ch3>Translations\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin’s own admin\u002FUI text is translation-ready (text domain\u003Cbr \u002F>\n“sawir-live-translate”). A .pot template ships in \u002Flanguages — drop your\u003Cbr \u002F>\n.po\u002F.mo there or under wp-content\u002Flanguages\u002Fplugins\u002F. (The in-page editor’s\u003Cbr \u002F>\nJavaScript labels are not yet localized.)\u003C\u002Fp>\n","Translate any front-end page live: pick a language, auto-translate the visible strings, save them, and let visitors switch languages.",190,"5.8",[44,45,46],"localization","multilingual","translation","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsawir-live-translate.1.1.0.zip",{"slug":50,"name":51,"version":52,"author":5,"author_profile":6,"description":53,"short_description":54,"active_installs":8,"downloaded":55,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":42,"requires_php":24,"tags":56,"homepage":62,"download_link":63,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"sawir-media-folders","Sawir Media Folders","1.0.1","\u003Cp>Organize your media library into folders and subfolders. No folder limits, no upsells.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Unlimited folders and subfolders\u003C\u002Fstrong> — no caps.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fast\u003C\u002Fstrong> — the whole folder tree loads with two database queries, regardless of library size. Filtering uses WordPress’s native media query.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Safe\u003C\u002Fstrong> — folders are virtual (a taxonomy). Physical files never move, so no URL ever breaks. Deleting a folder never deletes files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More free plugins from Sawir Studio\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-insights\u002F\" rel=\"ugc\">Sawir Insights\u003C\u002Fa> — Heatmaps, session recordings, surveys, funnels, and form analytics. Everything stays on your server.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-live-translate\u002F\" rel=\"ugc\">Sawir Live Translate\u003C\u002Fa> — Translate any front-end page live: pick a language, auto-translate the visible strings, save them, and let visitors switch languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-min-max-quantities-for-woocommerce\u002F\" rel=\"ugc\">Sawir Min Max Quantities for WooCommerce\u003C\u002Fa> — Set minimum and maximum purchase quantity rules for WooCommerce products, product categories, and the whole order.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\" rel=\"ugc\">Sawir Product Image Zoom for WooCommerce\u003C\u002Fa> — Adds a product image lightbox with navigation and click-to-zoom to WooCommerce product galleries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-pulse\u002F\" rel=\"ugc\">Sawir Pulse – Live Sales & Social Proof for WooCommerce\u003C\u002Fa> — Live social proof from real activity: recent orders, live viewers, and reviews as corner notifications. No fake notifications, ever.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-referral\u002F\" rel=\"ugc\">Sawir Referral – Refer a Friend for WooCommerce\u003C\u002Fa> — Give-and-get referral program for WooCommerce. Friends get a discount, advocates earn a reward coupon — shared by code or link, WhatsApp-first.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-restock-notifier-for-woocommerce\u002F\" rel=\"ugc\">Sawir Restock Notifier for WooCommerce\u003C\u002Fa> — Let customers request an email notification when an out-of-stock WooCommerce product is back in stock.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-role-capabilities-manager\u002F\" rel=\"ugc\">Sawir Role Capabilities Manager\u003C\u002Fa> — Create custom user roles and manage capabilities for new and existing WordPress roles.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-variation-gallery-tools-woocommerce\u002F\" rel=\"ugc\">Sawir Variation Gallery Tools for WooCommerce\u003C\u002Fa> — Manage variation-specific gallery images in WooCommerce. Works with Sawir Product Image Zoom for WooCommerce.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How it works\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Where folders appear\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Library (grid view)\u003C\u002Fem>: the full folder tree panel with drag & drop. The panel does not appear in list view.\u003C\u002Fli>\n\u003Cli>\u003Cem>Media modals\u003C\u002Fem> (post editor, featured image, galleries): the same folder tree, docked on the left of the file browser. Hidden on small screens.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>The tree panel\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>All files\u003C\u002Fem> shows everything; \u003Cem>Uncategorized\u003C\u002Fem> shows files not in any folder.\u003C\u002Fli>\n\u003Cli>Folder counts include files in subfolders.\u003C\u002Fli>\n\u003Cli>Folders with subfolders show a ▾ arrow — click it to collapse or expand. Collapse state is remembered per browser.\u003C\u002Fli>\n\u003Cli>The « button in the panel header minimizes the whole panel to a slim strip (» restores it). Remembered per browser, applies to the grid and modals alike.\u003C\u002Fli>\n\u003Cli>Drag the panel’s right edge to resize it. The width is remembered per browser and shared between the grid and modals.\u003C\u002Fli>\n\u003Cli>\u003Cem>New\u003C\u002Fem> creates a top-level folder. Hover a folder for its actions: \u003Cstrong>+\u003C\u002Fstrong> new subfolder, \u003Cstrong>✎\u003C\u002Fstrong> rename, \u003Cstrong>×\u003C\u002Fstrong> delete.\u003C\u002Fli>\n\u003Cli>Rename inline: double-click a folder’s name (or click \u003Cstrong>✎\u003C\u002Fstrong>), type the new name, press Enter. Esc cancels.\u003C\u002Fli>\n\u003Cli>A file lives in exactly one folder at a time.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Sorting\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The Sort row under the panel header orders the files shown on the right — by date, modified, name, or author, ascending or descending. It applies to whichever folder (or All files) is selected. Sorting by file size isn’t offered: WordPress doesn’t store attachment sizes in a sortable way.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Putting files in folders\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Drag any file from the grid onto a folder — on the Media Library page or inside a media modal.\u003C\u002Fli>\n\u003Cli>To move several at once: \u003Cem>Bulk select\u003C\u002Fem> (or in a modal, just select multiple), pick files, drag the selection onto a folder.\u003C\u002Fli>\n\u003Cli>Drag files onto \u003Cem>Uncategorized\u003C\u002Fem> to remove them from their folder.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Moving and reordering folders\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Drag a folder onto another folder. The drop position decides what happens:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>Top edge\u003C\u002Fem> (line above): insert \u003Cstrong>before\u003C\u002Fstrong> that folder.\u003C\u002Fli>\n\u003Cli>\u003Cem>Bottom edge\u003C\u002Fem> (line below): insert \u003Cstrong>after\u003C\u002Fstrong> that folder.\u003C\u002Fli>\n\u003Cli>\u003Cem>Middle\u003C\u002Fem> (dashed outline): nest \u003Cstrong>inside\u003C\u002Fstrong> that folder, after its existing children.\u003C\u002Fli>\n\u003Cli>Dropping on \u003Cem>All files\u003C\u002Fem> or \u003Cem>Uncategorized\u003C\u002Fem> moves the folder to the top of the root level.\u003C\u002Fli>\n\u003Cli>Prefer buttons? Hover a folder: \u003Cstrong>\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↑\u003C\u002Fspan> \u002F \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↓\u003C\u002Fspan>\u003C\u002Fstrong> move it among its siblings, \u003Cstrong>⇄\u003C\u002Fstrong> opens a dropdown to pick a new parent folder (or top level).\u003C\u002Fli>\n\u003Cli>A folder cannot be moved into its own subtree.\u003C\u002Fli>\n\u003Cli>Untouched folders sort alphabetically; once you drag one, its siblings keep your manual order.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Downloading a folder\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Hover a folder and click \u003Cstrong>⬇\u003C\u002Fstrong> to download it as a zip. Subfolders are included as folders inside the zip; duplicate filenames are auto-renamed (photo.jpg, photo-2.jpg).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Deleting a folder\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Files are kept and become uncategorized. Subfolders move up one level (to the deleted folder’s parent).\u003C\u002Fp>\n\u003Ch3>Automatic organization (for developers)\u003C\u002Fh3>\n\u003Cp>New uploads can be filed into folders automatically with the \u003Ccode>sawirmf_auto_folder\u003C\u002Fcode> filter. Return a folder path (created if missing), an existing folder ID, or null to leave the upload uncategorized. Nothing is auto-filed unless you add a rule — the default is off.\u003C\u002Fp>\n\u003Cp>File PDFs into “Documents”, and WooCommerce product images into “Products”:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'sawirmf_auto_folder', function ( $folder, $att_id, $attachment ) {\n    if ( 'application\u002Fpdf' === $attachment->post_mime_type ) {\n        return 'Documents';\n    }\n    if ( 'product' === get_post_type( $attachment->post_parent ) ) {\n        return 'Products';\n    }\n    return $folder;\n}, 10, 3 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>File blog images by year (“Blog\u002F2026”):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'sawirmf_auto_folder', function ( $folder, $att_id, $attachment ) {\n    if ( 'post' === get_post_type( $attachment->post_parent ) ) {\n        return 'Blog\u002F' . get_the_date( 'Y', $attachment );\n    }\n    return $folder;\n}, 10, 3 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Give each uploading user their own folder:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'sawirmf_auto_folder', function ( $folder, $att_id, $attachment ) {\n    $user = get_userdata( $attachment->post_author );\n    return $user ? 'Users\u002F' . $user->display_name : $folder;\n}, 10, 3 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Notes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Paths are slash-separated and nest (“Clients\u002FAcme\u002FLogos” creates three levels as needed); existing folders are reused, never duplicated.\u003C\u002Fli>\n\u003Cli>Rules only run for uploads made while the plugin is active; existing files are untouched.\u003C\u002Fli>\n\u003Cli>Returning a folder ID that doesn’t exist is ignored (the upload stays uncategorized).\u003C\u002Fli>\n\u003C\u002Ful>\n","Fast, unlimited folders for the WordPress media library with drag & drop.",139,[57,58,59,60,61],"attachments","folders","media","media-library","organize","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-media-folders\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsawir-media-folders.1.0.1.zip",{"slug":65,"name":66,"version":17,"author":5,"author_profile":6,"description":67,"short_description":68,"active_installs":8,"downloaded":69,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":42,"requires_php":24,"tags":70,"homepage":76,"download_link":77,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"sawir-pulse","Sawir Pulse – Live Sales & Social Proof for WooCommerce","\u003Cp>Sawir Pulse shows visitors what is genuinely happening in your store, as small corner notifications:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Recent orders\u003C\u002Fstrong> — “Rina from Jakarta bought Batik Tote · 12 mins ago · Verified order”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live viewers\u003C\u002Fstrong> — “4 people are viewing this product right now”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reviews\u003C\u002Fstrong> — snippets from your approved 4–5 star product reviews\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Every notification comes from real activity. There is no option to invent purchases or inflate numbers — fake social proof is deceptive to shoppers and a legal risk for store owners, so Sawir Pulse simply does not do it. A brand-new store shows live viewer and review activity from day one, and purchase notifications appear as real orders come in.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Real orders, live viewer counts, and review snippets — pick any combination\u003C\u002Fli>\n\u003Cli>Inline “12 sold this week” badge on product pages (only when a product really sells 3+ units in a week)\u003C\u002Fli>\n\u003Cli>See how often notifications were shown and clicked this month, right in settings\u003C\u002Fli>\n\u003Cli>Privacy-first: shows first name and city only, with a one-click option to anonymize (“Someone from Jakarta”)\u003C\u002Fli>\n\u003Cli>Hidden on cart and checkout by default to keep purchases distraction-free\u003C\u002Fli>\n\u003Cli>Visitors can dismiss notifications for their session\u003C\u002Fli>\n\u003Cli>Lightweight: one small stylesheet and one small script, no external services, no jQuery\u003C\u002Fli>\n\u003Cli>Respects reduced-motion preferences; screen-reader friendly\u003C\u002Fli>\n\u003Cli>Themeable via CSS custom properties\u003C\u002Fli>\n\u003Cli>HPOS compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More free plugins from Sawir Studio\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-insights\u002F\" rel=\"ugc\">Sawir Insights\u003C\u002Fa> — Heatmaps, session recordings, surveys, funnels, and form analytics. Everything stays on your server.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-live-translate\u002F\" rel=\"ugc\">Sawir Live Translate\u003C\u002Fa> — Translate any front-end page live: pick a language, auto-translate the visible strings, save them, and let visitors switch languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-media-folders\u002F\" rel=\"ugc\">Sawir Media Folders\u003C\u002Fa> — Fast, unlimited folders for the WordPress media library with drag & drop.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-min-max-quantities-for-woocommerce\u002F\" rel=\"ugc\">Sawir Min Max Quantities for WooCommerce\u003C\u002Fa> — Set minimum and maximum purchase quantity rules for WooCommerce products, product categories, and the whole order.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\" rel=\"ugc\">Sawir Product Image Zoom for WooCommerce\u003C\u002Fa> — Adds a product image lightbox with navigation and click-to-zoom to WooCommerce product galleries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-referral\u002F\" rel=\"ugc\">Sawir Referral – Refer a Friend for WooCommerce\u003C\u002Fa> — Give-and-get referral program for WooCommerce. Friends get a discount, advocates earn a reward coupon — shared by code or link, WhatsApp-first.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-restock-notifier-for-woocommerce\u002F\" rel=\"ugc\">Sawir Restock Notifier for WooCommerce\u003C\u002Fa> — Let customers request an email notification when an out-of-stock WooCommerce product is back in stock.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-role-capabilities-manager\u002F\" rel=\"ugc\">Sawir Role Capabilities Manager\u003C\u002Fa> — Create custom user roles and manage capabilities for new and existing WordPress roles.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-variation-gallery-tools-woocommerce\u002F\" rel=\"ugc\">Sawir Variation Gallery Tools for WooCommerce\u003C\u002Fa> — Manage variation-specific gallery images in WooCommerce. Works with Sawir Product Image Zoom for WooCommerce.\u003C\u002Fli>\n\u003C\u002Ful>\n","Live social proof from real activity: recent orders, live viewers, and reviews as corner notifications. No fake notifications, ever.",55,[71,72,73,74,75],"fomo","live-sales","sales-notification","social-proof","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-pulse\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsawir-pulse.1.0.0.zip",{"slug":79,"name":80,"version":52,"author":5,"author_profile":6,"description":81,"short_description":82,"active_installs":8,"downloaded":83,"rating":8,"num_ratings":8,"last_updated":84,"tested_up_to":22,"requires_at_least":42,"requires_php":24,"tags":85,"homepage":90,"download_link":91,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"sawir-restock-notifier-for-woocommerce","Sawir Restock Notifier for WooCommerce","\u003Cp>Sawir Restock Notifier for WooCommerce adds a lightweight stock alert form to out-of-stock product pages. Customers enter an email address, confirm the request by email, and then receive a one-time email when the product or selected variation returns to stock.\u003C\u002Fp>\n\u003Cp>Developed by Ricardo Sawir for Sawir Studio LLC.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Website: https:\u002F\u002Fsawirstudio.com\u003C\u002Fli>\n\u003Cli>X: https:\u002F\u002Fx.com\u002FRicardoSawir\u003C\u002Fli>\n\u003Cli>GitHub: https:\u002F\u002Fgithub.com\u002Fsawirricardo\u003C\u002Fli>\n\u003Cli>Email: ricardo@sawirstudio.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More free plugins from Sawir Studio\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-insights\u002F\" rel=\"ugc\">Sawir Insights\u003C\u002Fa> — Heatmaps, session recordings, surveys, funnels, and form analytics. Everything stays on your server.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-live-translate\u002F\" rel=\"ugc\">Sawir Live Translate\u003C\u002Fa> — Translate any front-end page live: pick a language, auto-translate the visible strings, save them, and let visitors switch languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-media-folders\u002F\" rel=\"ugc\">Sawir Media Folders\u003C\u002Fa> — Fast, unlimited folders for the WordPress media library with drag & drop.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-min-max-quantities-for-woocommerce\u002F\" rel=\"ugc\">Sawir Min Max Quantities for WooCommerce\u003C\u002Fa> — Set minimum and maximum purchase quantity rules for WooCommerce products, product categories, and the whole order.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\" rel=\"ugc\">Sawir Product Image Zoom for WooCommerce\u003C\u002Fa> — Adds a product image lightbox with navigation and click-to-zoom to WooCommerce product galleries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-pulse\u002F\" rel=\"ugc\">Sawir Pulse – Live Sales & Social Proof for WooCommerce\u003C\u002Fa> — Live social proof from real activity: recent orders, live viewers, and reviews as corner notifications. No fake notifications, ever.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-referral\u002F\" rel=\"ugc\">Sawir Referral – Refer a Friend for WooCommerce\u003C\u002Fa> — Give-and-get referral program for WooCommerce. Friends get a discount, advocates earn a reward coupon — shared by code or link, WhatsApp-first.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-role-capabilities-manager\u002F\" rel=\"ugc\">Sawir Role Capabilities Manager\u003C\u002Fa> — Create custom user roles and manage capabilities for new and existing WordPress roles.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-variation-gallery-tools-woocommerce\u002F\" rel=\"ugc\">Sawir Variation Gallery Tools for WooCommerce\u003C\u002Fa> — Manage variation-specific gallery images in WooCommerce. Works with Sawir Product Image Zoom for WooCommerce.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Displays a restock notification form on out-of-stock product stock notices.\u003C\u002Fli>\n\u003Cli>Supports simple products and product variations.\u003C\u002Fli>\n\u003Cli>Supports guest customers and logged-in customers.\u003C\u002Fli>\n\u003Cli>Includes an optional setting to require login before customers can sign up for restock alerts.\u003C\u002Fli>\n\u003Cli>Uses double opt-in confirmation before activating a restock alert.\u003C\u002Fli>\n\u003Cli>Includes cancel and unsubscribe links in customer emails.\u003C\u002Fli>\n\u003Cli>Lets admins resend verification emails for unconfirmed requests.\u003C\u002Fli>\n\u003Cli>Adds a My Account > Restock Alerts page where logged-in customers can view, cancel, unsubscribe, and resend verification for alerts created while signed in.\u003C\u002Fli>\n\u003Cli>Stores awaiting confirmation, confirmed, notified, and unsubscribed requests in a custom database table.\u003C\u002Fli>\n\u003Cli>Sends WooCommerce-styled restock emails when stock status changes back to in stock.\u003C\u002Fli>\n\u003Cli>Processes restock notification emails in background batches with WooCommerce Action Scheduler.\u003C\u002Fli>\n\u003Cli>Adds a WooCommerce > Restock Alerts admin page for reviewing requests.\u003C\u002Fli>\n\u003Cli>Shows an admin insights dashboard with range filters, status totals, rates, and top requested products.\u003C\u002Fli>\n\u003Cli>Includes an optional uninstall cleanup setting for removing plugin data when the plugin is deleted.\u003C\u002Fli>\n\u003Cli>Asks admins during deactivation whether plugin data should be kept or destructively removed if the plugin is deleted later.\u003C\u002Fli>\n\u003Cli>Shows a review request only after the plugin has delivered value, with remind-later and dismiss controls.\u003C\u002Fli>\n\u003Cli>Includes a small related-plugin section for other Sawir Studio tools.\u003C\u002Fli>\n\u003C\u002Ful>\n","Let customers request an email notification when an out-of-stock WooCommerce product is back in stock.",195,"2026-07-21T10:49:00.000Z",[86,87,88,89,75],"back-in-stock","product-alerts","restock","stock-notification","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-restock-notifier-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsawir-restock-notifier-for-woocommerce.1.0.1.zip",{"slug":93,"name":94,"version":52,"author":5,"author_profile":6,"description":95,"short_description":96,"active_installs":8,"downloaded":97,"rating":8,"num_ratings":8,"last_updated":84,"tested_up_to":22,"requires_at_least":42,"requires_php":24,"tags":98,"homepage":102,"download_link":103,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"sawir-variation-gallery-tools-woocommerce","Sawir Variation Gallery Tools for WooCommerce","\u003Cp>Sawir Variation Gallery Tools for WooCommerce adds an “Additional variation images” field to each variation in the WooCommerce product editor.\u003C\u002Fp>\n\u003Cp>When a customer selects a variation on the product page, the saved images for that variation are added to the WooCommerce product gallery.\u003C\u002Fp>\n\u003Cp>Store managers can also bulk export and import additional variation images from WooCommerce > Variation Images. The CSV export includes each variation’s ID, SKU, attributes, additional image IDs, and image URLs. The CSV import can replace or append images for imported rows.\u003C\u002Fp>\n\u003Cp>This plugin works with Sawir Product Image Zoom for WooCommerce:\u003Cbr \u002F>\nhttps:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\u003C\u002Fp>\n\u003Cp>The variation images are added as standard WooCommerce gallery images, so Sawir Product Image Zoom for WooCommerce can include them in its lightbox and zoom experience.\u003C\u002Fp>\n\u003Ch4>More free plugins from Sawir Studio\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-insights\u002F\" rel=\"ugc\">Sawir Insights\u003C\u002Fa> — Heatmaps, session recordings, surveys, funnels, and form analytics. Everything stays on your server.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-live-translate\u002F\" rel=\"ugc\">Sawir Live Translate\u003C\u002Fa> — Translate any front-end page live: pick a language, auto-translate the visible strings, save them, and let visitors switch languages.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-media-folders\u002F\" rel=\"ugc\">Sawir Media Folders\u003C\u002Fa> — Fast, unlimited folders for the WordPress media library with drag & drop.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-min-max-quantities-for-woocommerce\u002F\" rel=\"ugc\">Sawir Min Max Quantities for WooCommerce\u003C\u002Fa> — Set minimum and maximum purchase quantity rules for WooCommerce products, product categories, and the whole order.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-product-image-zoom-for-woocommerce\u002F\" rel=\"ugc\">Sawir Product Image Zoom for WooCommerce\u003C\u002Fa> — Adds a product image lightbox with navigation and click-to-zoom to WooCommerce product galleries.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-pulse\u002F\" rel=\"ugc\">Sawir Pulse – Live Sales & Social Proof for WooCommerce\u003C\u002Fa> — Live social proof from real activity: recent orders, live viewers, and reviews as corner notifications. No fake notifications, ever.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-referral\u002F\" rel=\"ugc\">Sawir Referral – Refer a Friend for WooCommerce\u003C\u002Fa> — Give-and-get referral program for WooCommerce. Friends get a discount, advocates earn a reward coupon — shared by code or link, WhatsApp-first.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-restock-notifier-for-woocommerce\u002F\" rel=\"ugc\">Sawir Restock Notifier for WooCommerce\u003C\u002Fa> — Let customers request an email notification when an out-of-stock WooCommerce product is back in stock.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-role-capabilities-manager\u002F\" rel=\"ugc\">Sawir Role Capabilities Manager\u003C\u002Fa> — Create custom user roles and manage capabilities for new and existing WordPress roles.\u003C\u002Fli>\n\u003C\u002Ful>\n","Manage variation-specific gallery images in WooCommerce. Works with Sawir Product Image Zoom for WooCommerce.",175,[99,100,101,75],"product-gallery","product-variations","variation-images","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsawir-variation-gallery-tools-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsawir-variation-gallery-tools-woocommerce.1.0.1.zip"]