[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fS_lI1PCxwWlxKqa8Mu7lnGGQxtMNxXMpP733IzgtmLg":3,"$f8WvYceuCG6Y3HPnCF-8iTMjgASztOJvg-_QR5SJT12M":276,"$fbmn2ktO_b35MNgW_kRnzIjwA2_IEiik7yt6VZD5mfow":280},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":35,"analysis":129,"fingerprints":257},"nnax-withdrawal","nnax Withdrawal","1.0.1","nnaxitloesungen","https:\u002F\u002Fprofiles.wordpress.org\u002Fnnaxitloesungen\u002F","\u003Cp>\u003Cstrong>nnax Withdrawal\u003C\u002Fstrong> provides a structured two-step withdrawal flow for online shops.\u003C\u002Fp>\n\u003Cp>Main capabilities:\u003Cbr \u002F>\n* Frontend form flow via shortcode \u003Ccode>[nnax_withdrawal_flow]\u003C\u002Fcode>.\u003Cbr \u002F>\n* Client-side form validation with inline feedback before submission.\u003Cbr \u002F>\n* Confirmation step before final submission.\u003Cbr \u002F>\n* Customer acknowledgment email after submission.\u003Cbr \u002F>\n* Internal notification email to one or more configurable recipients.\u003Cbr \u002F>\n* Storage of withdrawals as internal custom post type entries (\u003Ccode>nnax_withdrawal\u003C\u002Fcode>).\u003Cbr \u002F>\n* Internal reference number, processing status and anonymization workflow in the backend.\u003Cbr \u002F>\n* Admin guide page for first-time users of the plugin.\u003Cbr \u002F>\n* WooCommerce settings section for recipient emails and uninstall data cleanup behavior.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>WooCommerce (recommended for settings integration)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Known Limitations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>A full compatibility test with each active theme must be done in the target shop setup.\u003C\u002Fli>\n\u003Cli>A final verification on a fresh WordPress installation should be part of the release process.\u003C\u002Fli>\n\u003Cli>Delivery of outgoing emails depends on the site’s configured mail transport.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Add shortcode \u003Ccode>[nnax_withdrawal_flow]\u003C\u002Fcode> to the desired page.\u003C\u002Fli>\n\u003Cli>Users submit name, contract\u002Forder\u002Fsubscription reference and email.\u003C\u002Fli>\n\u003Cli>The frontend validates the input and highlights incomplete or invalid fields immediately.\u003C\u002Fli>\n\u003Cli>Users confirm their data in step 2.\u003C\u002Fli>\n\u003Cli>On final submit, the plugin stores the record, assigns an internal reference and sends notification emails.\u003C\u002Fli>\n\u003Cli>In the backend, operators can set a processing status and anonymize entries after processing.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Uninstallation\u003C\u002Fh3>\n\u003Cp>On plugin deletion, plugin options are removed by default.\u003C\u002Fp>\n\u003Cp>Stored withdrawal entries can also be removed when one of the following is enabled:\u003Cbr \u002F>\n* WooCommerce setting \u003Ccode>nnax_withdrawal_delete_data_on_uninstall\u003C\u002Fcode>\u003Cbr \u002F>\n* \u003Ccode>define('NNAX_WITHDRAWAL_DELETE_DATA', true);\u003C\u002Fcode> in \u003Ccode>wp-config.php\u003C\u002Fcode>\u003C\u002Fp>\n","Two-step withdrawal form flow for WordPress and WooCommerce with email confirmations and backend tracking.",0,49,"2026-04-08T10:48:00.000Z","6.9.4","5.0","7.4",[18,19,20,21,22],"compliance","form","revocation","withdrawal","woocommerce","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnnax-withdrawal.1.0.1.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,94,"2026-05-20T07:21:59.738Z",[36,54,69,84,104],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":32,"downloaded":44,"rating":25,"num_ratings":31,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":16,"tags":48,"homepage":51,"download_link":52,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":53},"eu-order-withdrawal-button-for-woocommerce","EU Order Withdrawal Button for WooCommerce","1.0.2","vendidero","https:\u002F\u002Fprofiles.wordpress.org\u002Fvendidero\u002F","\u003Cp>EU Order Withdrawal Button for WooCommerce adds compliance with the \u003Ca href=\"https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Fdir\u002F2023\u002F2673\u002Foj\u002Feng\" rel=\"nofollow ugc\">EU directive 2023\u002F2673\u003C\u002Fa> to WooCommerce.\u003Cbr \u002F>\nWith the help of this little plugin you may easily allow your customers to submit (partial) withdrawal requests to their orders.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>Withdrawal request form\u003C\u002Fem> – Use a shortcode to embed a withdrawal request form which works both for guest orders and registered customers.\u003C\u002Fli>\n\u003Cli>\u003Cem>Manage withdrawals\u003C\u002Fem> – Easily manage withdrawals from your WooCommerce order page by either confirming or rejecting requests.\u003C\u002Fli>\n\u003Cli>\u003Cem>Send confirmation emails\u003C\u002Fem> – Automatically confirm receipt of the withdrawal by email.\u003C\u002Fli>\n\u003Cli>\u003Cem>Partial withdrawals\u003C\u002Fem> – Optionally allow customers to submit partial withdrawal requests.\u003C\u002Fli>\n\u003C\u002Ful>\n","This plugin helps to comply with the latest EU directive 2023\u002F2673 by embedding a withdrawal button within your WooCommerce store.",208,"2026-03-27T10:48:00.000Z","7.0","5.4",[49,18,50,21,22],"cancellation","eu","https:\u002F\u002Fvendidero.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feu-order-withdrawal-button-for-woocommerce.1.0.2.zip","2026-04-06T09:54:40.288Z",{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":32,"downloaded":62,"rating":11,"num_ratings":11,"last_updated":63,"tested_up_to":14,"requires_at_least":64,"requires_php":16,"tags":65,"homepage":67,"download_link":68,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"revoker-for-woocommerce","Revoker for WooCommerce","1.0.4","KOMMERS GmbH","https:\u002F\u002Fprofiles.wordpress.org\u002Fkommers\u002F","\u003Cp>\u003Cstrong>Revoker for WooCommerce\u003C\u002Fstrong> adds a legally compliant withdrawal button to your WooCommerce store. Customers can revoke orders directly from their account area – fully compliant with EU Directive 2023\u002F2673 and applicable consumer protection laws.\u003C\u002Fp>\n\u003Ch4>Why Revoker?\u003C\u002Fh4>\n\u003Cp>Starting in 2026, online merchants in the EU are required to provide consumers with an easy way to exercise their right of withdrawal. Revoker implements this requirement elegantly and user-friendly.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Withdrawal Button\u003C\u002Fstrong> – Automatically appears on the order details page in customer accounts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two-Step Process\u003C\u002Fstrong> – Button \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Confirmation page prevents accidental withdrawals\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deadline Calculation\u003C\u002Fstrong> – Automatic calculation of remaining withdrawal period\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Partial Withdrawal\u003C\u002Fstrong> – Customers can withdraw individual items from an order\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guest Support\u003C\u002Fstrong> – Withdrawal without customer account via order number + email\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Notifications\u003C\u002Fstrong> – Automatic confirmation to customer and shop admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Withdrawal Log\u003C\u002Fstrong> – Complete overview of all withdrawals in the backend\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Product Exceptions\u003C\u002Fstrong> – Exclude categories, individual products, or digital downloads\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable\u003C\u002Fstrong> – Button text, style, and withdrawal period individually configurable\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PDF Confirmation\u003C\u002Fstrong> – Generate PDF documents for withdrawal confirmations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Block\u003C\u002Fstrong> – Add withdrawal policy information easily to any page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Legal Compliance\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>EU Directive 2023\u002F2673\u003C\u002Fli>\n\u003Cli>Consumer Rights Directive 2011\u002F83\u002FEU\u003C\u002Fli>\n\u003Cli>GDPR compliant\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Version\u003C\u002Fh4>\n\u003Cp>Need advanced features? \u003Ca href=\"https:\u002F\u002Fkommers.io\u002Fplugins\u002Frevoker\" rel=\"nofollow ugc\">Revoker Pro\u003C\u002Fa> offers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dashboard & Statistics\u003C\u002Fstrong> – Withdrawal rates, trends, top products\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Refunds\u003C\u002Fstrong> – Integration with WooCommerce Refunds\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Notifications\u003C\u002Fstrong> – Slack, Microsoft Teams, Custom Webhooks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> – Complete API for external integrations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rules Engine\u003C\u002Fstrong> – Advanced exception rules (geo, price, time, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>UI Builder\u003C\u002Fstrong> – Visual editor for button and modal\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Return Labels\u003C\u002Fstrong> – Integration with DHL, DPD, GLS\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accounting Export\u003C\u002Fstrong> – DATEV, lexoffice, sevDesk export\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fraud Detection\u003C\u002Fstrong> – Protect against abuse\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multilingual\u003C\u002Fstrong> – 6 languages including legally compliant translations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Legal Updates\u003C\u002Fstrong> – Automatic updates for regulatory changes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Additional Info\u003C\u002Fh3>\n\u003Ch4>Minimum Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 6.0 or higher\u003C\u002Fli>\n\u003Cli>WooCommerce 7.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>This plugin:\u003Cbr \u002F>\n* Stores withdrawal data locally in your WordPress database\u003Cbr \u002F>\n* Does not send data to external servers\u003Cbr \u002F>\n* Is fully GDPR compliant\u003C\u002Fp>\n\u003Cp>The Pro version communicates with kommers.io for license validation and updates.\u003C\u002Fp>\n","EU-compliant withdrawal button for WooCommerce – enables customers to easily revoke orders in accordance with EU Directive 2023\u002F2673.",313,"2026-02-17T05:58:00.000Z","6.0",[66,50,20,21,22],"consumer-rights","https:\u002F\u002Fkommers.io\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frevoker-for-woocommerce.1.0.4.zip",{"slug":70,"name":71,"version":72,"author":73,"author_profile":74,"description":75,"short_description":76,"active_installs":11,"downloaded":77,"rating":11,"num_ratings":11,"last_updated":78,"tested_up_to":14,"requires_at_least":64,"requires_php":16,"tags":79,"homepage":82,"download_link":83,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"rescindly-for-woocommerce","Rescindly for WooCommerce","1.4.2","rescindly","https:\u002F\u002Fprofiles.wordpress.org\u002Frescindly\u002F","\u003Cp>Rescindly for WooCommerce is a lightweight integration plugin that connects your WooCommerce store to the Rescindly service. It helps merchants add the Rescindly withdrawal workflow to their WooCommerce storefront with a simple setup path inside WordPress.\u003C\u002Fp>\n\u003Cp>After installation, enter your Rescindly Merchant ID, choose how the workflow should appear, and test it on your store.\u003C\u002Fp>\n\u003Ch4>Important: external service required\u003C\u002Fh4>\n\u003Cp>This plugin requires an active \u003Cstrong>Rescindly account\u003C\u002Fstrong> and a valid \u003Cstrong>Merchant ID\u003C\u002Fstrong>. The plugin acts as an integration layer for WooCommerce. The core withdrawal workflow is provided through the external Rescindly service. Account creation, billing, and service management are handled on the Rescindly website.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Loads the Rescindly widget from the official CDN\u003C\u002Fli>\n\u003Cli>Lightweight WooCommerce integration\u003C\u002Fli>\n\u003Cli>Three placement modes to match different storefront setups\u003C\u002Fli>\n\u003Cli>Optional prefill of order number, customer name, and billing email\u003C\u002Fli>\n\u003Cli>Configurable visibility window for order-specific triggers\u003C\u002Fli>\n\u003Cli>Clean uninstall that removes plugin settings when deleted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Three placement modes\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Footer only\u003C\u002Fstrong>\u003Cbr \u002F>\nLoads the widget script globally and renders a trigger element inside the page footer.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Order triggers\u003C\u002Fstrong>\u003Cbr \u002F>\nLoads the widget only on supported WooCommerce order pages and renders order-specific triggers there.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Footer & Order\u003C\u002Fstrong>\u003Cbr \u002F>\nCombines both modes: loads the widget script globally with a footer trigger, and also renders order-specific triggers on supported WooCommerce order pages.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>What this plugin does not do\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>It does not process payments\u003C\u002Fli>\n\u003Cli>It does not replace the Rescindly service\u003C\u002Fli>\n\u003Cli>It does not make server-side API calls from WordPress\u003C\u002Fli>\n\u003Cli>It does not receive webhooks\u003C\u002Fli>\n\u003Cli>It does not modify WooCommerce orders\u003C\u002Fli>\n\u003Cli>It does not provide legal advice\u003C\u002Fli>\n\u003Cli>It does not automatically guarantee legal compliance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Rescindly is an independent software provider. Merchants remain responsible for their own legal review, placement decisions, store policies, and operational handling.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the Rescindly CDN to load the withdrawal workflow widget on your WooCommerce store.\u003C\u002Fp>\n\u003Ch4>Rescindly Widget CDN\u003C\u002Fh4>\n\u003Cp>When the plugin is enabled and a valid Merchant ID is configured, the plugin loads a JavaScript file from the Rescindly CDN on each storefront page (or only on order pages, depending on the placement mode).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What is loaded:\u003C\u002Fstrong> A merchant-specific JavaScript widget file from \u003Ccode>https:\u002F\u002Fcdn.rescindly.eu\u002Fwidget\u002Fm\u002F{merchant_id}.js\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When it is loaded:\u003C\u002Fstrong> On every storefront page load (in “Footer only” and “Footer & Order” modes) or only on WooCommerce order confirmation and order detail pages (in “Order triggers” mode).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>What data is sent:\u003C\u002Fstrong> The browser sends a standard HTTP request to the CDN to fetch the script. No personal data is transmitted by the plugin to the CDN. When a customer interacts with the widget and submits a withdrawal request, the data entered in the form (order number, name, email) is sent directly from the customer’s browser to the Rescindly service.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service provider:\u003C\u002Fstrong> Rescindly (rescindly.eu)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of service:\u003C\u002Fstrong> https:\u002F\u002Frescindly.eu\u002Flegal\u002Fterms\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy policy:\u003C\u002Fstrong> https:\u002F\u002Frescindly.eu\u002Flegal\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n","Online withdrawal workflow for WooCommerce — connect your store to Rescindly and support Directive (EU) 2023\u002F2673 readiness.",134,"2026-04-02T19:57:00.000Z",[18,80,81,21,22],"ecommerce","legal","https:\u002F\u002Frescindly.eu\u002Fdocs\u002Fwoocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frescindly-for-woocommerce.1.4.3.zip",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":94,"num_ratings":95,"last_updated":96,"tested_up_to":97,"requires_at_least":98,"requires_php":23,"tags":99,"homepage":23,"download_link":102,"security_score":103,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"invisible-recaptcha","Invisible reCaptcha for WordPress","1.2.3","MihChe","https:\u002F\u002Fprofiles.wordpress.org\u002Fmihche\u002F","\u003Cp>Invisible reCaptcha for WordPress is an extremely powerful plugin which integrates the new \u003Ca href=\"https:\u002F\u002Fwww.google.com\u002Frecaptcha\u002Fintro\u002Finvisible.html\" rel=\"nofollow ugc\">Invisible reCaptcha by Google\u003C\u002Fa> with your WordPress site.\u003C\u002Fp>\n\u003Ch4>Summary of features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>WordPress Invisible reCaptcha\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>- Login form protection - annihilates Brute Force attacks\n- Registration form protection\n- Comments form protection\n- Forgot Password form protection\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>WooCommerce Invisible reCaptcha\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>- Login form protection\n- Registration form protection\n- Product Review form protection\n- Lost Password form protection\n- Reset Password form protection\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Contact Form 7 Invisible reCaptcha\u003C\u002Fstrong>\u003Cbr \u002F>\n    – Protect your Contact Form 7 forms with Invisible reCaptcha\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Gravity Forms Invisible reCaptcha\u003C\u002Fstrong>\u003Cbr \u002F>\n    – Protect your Gravity Forms with Invisible reCaptcha\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fultra-community\u002F\" rel=\"ugc\">Ultra Community\u003C\u002Fa> Invisible reCaptcha\u003C\u002Fstrong>\u003Cbr \u002F>\n    – Login form protection\u003Cbr \u002F>\n    – Registration form protection\u003C\u002Fp>\n\u003Cp>\u003Cstrong>BuddyPress Invisible reCaptcha\u003C\u002Fstrong>\u003Cbr \u002F>\n    – Protect your BuddyPress registration form with Invisible reCaptcha\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>On a \u003Cstrong>WP Multisite\u003C\u002Fstrong> you can either activate the plugin network wide or on a single site.\u003C\u002Fp>\n\u003Ch4>How-To and Troubleshooting\u003C\u002Fh4>\n\u003Cp>Check out our \u003Ca href=\"https:\u002F\u002Fultracommunity.com\u002Fforums\u002Fforum\u002Finvisible-recaptcha\u002F\" rel=\"nofollow ugc\">Invisible reCaptcha for WordPress Support Forum\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Extending Invisible reCaptcha\u003C\u002Fh4>\n\u003Cp>Here are some useful hooks to help developers integrate Invisible reCaptcha with any plugin or custom form\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Actions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>- google_invre_render_widget_action - renders the recaptcha widget\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>- google_invre_is_valid_request_filter   - used to check if Google approved the request (returns bool true\u002Ffalse)\n- google_invre_widget_output_html_filter - used to change the recaptcha widget output\n- google_invre_language_code_filter      - used to change the badge\u002Fchallenge language code\n- google_invre_badge_position_filter     - used to change the badge position (possible returning values are: 'bottomright', 'bottomleft', 'inline')\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Examples of using  Invisible reCaptcha hooks\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cul>\n\u003Cli>\n\u003Cp>Add Invisible reCaptcha into any form\u003C\u002Fp>\n\u003Cp>Just call\u003Cbr \u002F>\ndo_action(‘google_invre_render_widget_action’);\u003Cbr \u002F>\nanywhere before form closing tag\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Validate form post request\u003C\u002Fp>\n\u003Cp>$is_valid = apply_filters(‘google_invre_is_valid_request_filter’, true);\u003Cbr \u002F>\nif( ! $is_valid )\u003Cbr \u002F>\n{\u003Cbr \u002F>\n    \u002F\u002F handle error here\u003Cbr \u002F>\n}\u003Cbr \u002F>\nelse\u003Cbr \u002F>\n{\u003Cbr \u002F>\n    \u002F\u002F continue with your logic\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Change the badge\u002Fchallenge language code\u003C\u002Fp>\n\u003Cp>add_filter( ‘google_invre_language_code_filter’, ‘myprefix_change_recaptcha_language’ );\u003Cbr \u002F>\nfunction myprefix_change_recaptcha_language($language_code){\u003Cbr \u002F>\n    $language_code = ‘fr’; \u002F\u002F French\u003Cbr \u002F>\n    return $language_code;\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See all \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Frecaptcha\u002Fdocs\u002Flanguage\" rel=\"nofollow ugc\">reCaptcha Language Codes\u003C\u002Fa>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note: This plugin requires PHP 5.3 or higher to be activated.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Invisible reCaptcha for WordPress plugin helps you to protect your sites against bad spam bots using the new Invisible reCaptcha by Google.",90000,859062,86,133,"2020-04-07T16:31:00.000Z","5.4.19","4.0",[100,85,101],"contact-form-7-invisible-recaptcha","woocommerce-invisible-recaptcha","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finvisible-recaptcha.zip",85,{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":46,"requires_at_least":117,"requires_php":16,"tags":118,"homepage":124,"download_link":125,"security_score":126,"vuln_count":127,"unpatched_count":11,"last_vuln_date":128,"fetched_at":27},"yith-woocommerce-ajax-search","YITH WooCommerce Ajax Search","2.23.0","YITHEMES","https:\u002F\u002Fprofiles.wordpress.org\u002Fyithemes\u002F","\u003Cp>According to several usability studies, \u003Cstrong>85% of users who access an e-commerce store go straight to the search form.\u003C\u002Fstrong> If they cannot find it and search for the products they want to buy, most of them will abandon the site after a few seconds.\u003C\u002Fp>\n\u003Cp>If you already have a search form on your website, but it does not work properly or suggests irrelevant products, the same will happen: \u003Cstrong>they will abandon your shop and you will lose those sales.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>With the latest version of \u003Cstrong>YITH WooCommerce AJAX Search\u003C\u002Fstrong>, in just a few minutes, you can set up a modern and usable search form in WooCommerce that’s designed to deliver effective results consistently, search after search.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The new version of the plugin\u003C\u002Fstrong> is powerful, flexible, and easy to configure. You can place your search form anywhere using the built-in block or shortcode, customize its style and colors, and, most importantly, set a tolerance threshold to find results even if there are some typos in the text.\u003C\u002Fp>\n\u003Cp>Go ahead, install the plugin and in just a few clicks you’ll have your customers searching and quickly finding the products they are interested in.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features of the free version:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Insert the search form using the Gutenberg block\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Insert the search form using the shortcode\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Choose the size of the search form\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Set the placeholder text to show in the form search input\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Set the colors of the form and the “Submit” button\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Enable instant search (autocomplete feature)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Set the number of characters after which the instant search is triggered\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Search for keywords in product names\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Search for keywords in product (main and short) description\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show search results in a list layout, one below the other\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show product names and images\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Configure the maximum number of results to show\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Choose whether to show a “View all results” link\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>100% mobile-friendly layout\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>(NEW!) Statistics panel to analyze the most popular searches, the most-clicked products, and searches with no results.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Want to see the plugin in action? \u003Ca href=\"https:\u002F\u002Fplugins.yithemes.com\u002Fyith-woocommerce-ajax-search-free\u002F\" rel=\"nofollow ugc\">Check out the live demo of the free version >\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Need an extra boost? Upgrade to premium!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>In the free version of YITH WooCommerce AJAX Search, you’ll find everything you need to add a modern and powerful search form to your shop. But if you are looking for advanced options and even more flexibility, we invite you to \u003Cstrong>upgrade the plugin to the premium version.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features of the premium version:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Enable searching in product SKUs\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Extend the search to categories, tags, attributes, and custom fields\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Extend the search to posts and\u002For pages to suggest related content to your users\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show search suggestions and choose whether to show popular searches or specific keywords\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Configure synonym sets to show relevant results regardless of the keywords typed by the user\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show search results in a grid layout\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Hide out-of-stock products from search results\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Optional: show product price, SKU, and stock\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Optional: show categories, “Add to cart” button, and short description\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Set a maximum length for product descriptions\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Choose whether to show badges on discounted, featured, or out-of-stock products and customize the colors of the badges\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show links to categories related to the search keys\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show the user’s history with the latest searches\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Advanced boost options to determine which products, categories, or tags to promote in search results\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>New layout to show the search in a full-screen overlay\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Stats panel to monitor the most popular searches, most clicked products, and searches with no results\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fplugins.yithemes.com\u002Fyith-woocommerce-ajax-search\u002F\" rel=\"nofollow ugc\">Check out the live demo of the premium version >\u003C\u002Fa>\u003C\u002Fp>\n","YITH WooCommerce Ajax Search allows your users to search products in real time.",40000,3371284,60,42,"2026-03-26T13:29:00.000Z","6.8",[119,120,121,122,123],"woocommerce-search-by-sku","woocommerce-search-form","woocommerce-search-page","woocommerce-search-results","woocommerce-search-shortcode","https:\u002F\u002Fyithemes.com\u002Fthemes\u002Fplugins\u002Fyith-woocommerce-ajax-search\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyith-woocommerce-ajax-search.2.23.0.zip",95,4,"2024-09-30 00:00:00",{"attackSurface":130,"codeSignals":212,"taintFlows":222,"riskAssessment":250,"analyzedAt":256},{"hooks":131,"ajaxHandlers":208,"restRoutes":209,"shortcodes":210,"cronEvents":211,"entryPointCount":11,"unprotectedCount":11},[132,139,143,146,150,153,155,159,163,167,170,173,177,181,184,187,190,193,196,199,202,205],{"type":133,"name":134,"callback":135,"priority":136,"file":137,"line":138},"filter","user_has_cap","closure",10,"nnax-withdrawal.php",298,{"type":140,"name":141,"callback":135,"file":137,"line":142},"action","admin_init",342,{"type":133,"name":144,"callback":135,"priority":136,"file":137,"line":145},"doing_it_wrong_trigger_error",365,{"type":140,"name":147,"callback":135,"priority":148,"file":137,"line":149},"admin_menu",20,414,{"type":140,"name":147,"callback":135,"priority":151,"file":137,"line":152},999,474,{"type":140,"name":141,"callback":135,"priority":32,"file":137,"line":154},537,{"type":140,"name":156,"callback":157,"file":137,"line":158},"admin_post_nnax_withdrawal_export_csv","nnax_withdrawal_export_csv",695,{"type":140,"name":160,"callback":161,"file":137,"line":162},"admin_post_nnax_withdrawal_update_status","nnax_withdrawal_handle_status_update",902,{"type":140,"name":164,"callback":165,"file":137,"line":166},"admin_post_nnax_withdrawal_anonymize","nnax_withdrawal_handle_anonymize",903,{"type":133,"name":168,"callback":135,"file":137,"line":169},"admin_body_class",1006,{"type":133,"name":171,"callback":135,"priority":136,"file":137,"line":172},"post_row_actions",1029,{"type":140,"name":174,"callback":175,"file":137,"line":176},"admin_enqueue_scripts","nnax_withdrawal_enqueue_global_admin_style",1072,{"type":140,"name":178,"callback":179,"file":137,"line":180},"wp_enqueue_scripts","nnax_withdrawal_enqueue_frontend_assets",1131,{"type":140,"name":182,"callback":135,"file":137,"line":183},"init",1354,{"type":140,"name":185,"callback":135,"file":137,"line":186},"add_meta_boxes",1396,{"type":140,"name":188,"callback":135,"file":137,"line":189},"admin_head",1428,{"type":133,"name":191,"callback":135,"file":137,"line":192},"manage_edit-nnax_withdrawal_sortable_columns",1479,{"type":140,"name":194,"callback":135,"file":137,"line":195},"pre_get_posts",1488,{"type":133,"name":197,"callback":135,"file":137,"line":198},"woocommerce_get_sections_advanced",1522,{"type":133,"name":200,"callback":135,"priority":136,"file":137,"line":201},"woocommerce_get_settings_advanced",1531,{"type":140,"name":203,"callback":135,"priority":31,"file":137,"line":204},"woocommerce_settings_save_advanced",1590,{"type":140,"name":206,"callback":135,"file":137,"line":207},"woocommerce_admin_field_nnax_withdrawal_reset_recipient_button",1619,[],[],[],[],{"dangerousFunctions":213,"sqlUsage":214,"outputEscaping":216,"fileOperations":31,"externalRequests":11,"nonceChecks":219,"capabilityChecks":220,"bundledLibraries":221},[],{"prepared":11,"raw":11,"locations":215},[],{"escaped":217,"rawEcho":11,"locations":218},581,[],9,25,[],[223,242],{"entryPoint":224,"graph":225,"unsanitizedCount":11,"severity":241},"nnax_withdrawal_render_general_page (nnax-withdrawal.php:905)",{"nodes":226,"edges":238},[227,232],{"id":228,"type":229,"label":230,"file":137,"line":231},"n0","source","$_POST (x2)",950,{"id":233,"type":234,"label":235,"file":137,"line":236,"wp_function":237},"n1","sink","update_option() [Settings Manipulation]",953,"update_option",[239],{"from":228,"to":233,"sanitized":240},true,"low",{"entryPoint":243,"graph":244,"unsanitizedCount":11,"severity":241},"\u003Cnnax-withdrawal> (nnax-withdrawal.php:0)",{"nodes":245,"edges":248},[246,247],{"id":228,"type":229,"label":230,"file":137,"line":231},{"id":233,"type":234,"label":235,"file":137,"line":236,"wp_function":237},[249],{"from":228,"to":233,"sanitized":240},{"summary":251,"deductions":252},"The nnax-withdrawal plugin version 1.0.1 exhibits a strong security posture based on the provided static analysis. The absence of any detected AJAX handlers, REST API routes, shortcodes, or cron events with exposed attack surfaces is a significant positive. Furthermore, the code demonstrates robust security practices with 100% of SQL queries using prepared statements and all outputs being properly escaped. The presence of 9 nonce checks and 25 capability checks indicates a conscious effort to secure its functionalities. The taint analysis also revealed no critical or high severity unsanitized flows, reinforcing the good code hygiene.",[253],{"reason":254,"points":255},"File operations detected",3,"2026-04-16T14:31:58.557Z",{"wat":258,"direct":267},{"assetPaths":259,"generatorPatterns":262,"scriptPaths":263,"versionParams":264},[260,261],"\u002Fwp-content\u002Fplugins\u002Fnnax-withdrawal\u002Fassets\u002Fcss\u002Fnnax-withdrawal-frontend.css","\u002Fwp-content\u002Fplugins\u002Fnnax-withdrawal\u002Fassets\u002Fjs\u002Fnnax-withdrawal-frontend.js",[],[261],[265,266],"nnax-withdrawal\u002Fassets\u002Fcss\u002Fnnax-withdrawal-frontend.css?ver=","nnax-withdrawal\u002Fassets\u002Fjs\u002Fnnax-withdrawal-frontend.js?ver=",{"cssClasses":268,"htmlComments":270,"htmlAttributes":271,"restEndpoints":272,"jsGlobals":273,"shortcodeOutput":274},[269],"nnax-withdrawal-frontend",[],[],[],[],[275],"[nnax_withdrawal_flow]",{"error":240,"url":277,"statusCode":278,"statusMessage":279,"message":279},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fnnax-withdrawal\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":31,"versions":281},[282],{"version":6,"download_url":24,"svn_tag_url":283,"released_at":26,"has_diff":284,"diff_files_changed":285,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":286,"is_current":240},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fnnax-withdrawal\u002Ftags\u002F1.0.1\u002F",false,[],[]]