[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f8HO10w6i6f8VQohl9DtbZ1T6lz7eKoJ9c4oERVVRTJg":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":36,"analysis":153,"fingerprints":242},"lh-recover-password","LH Recover Password","1.13","shawfactor","https:\u002F\u002Fprofiles.wordpress.org\u002Fshawfactor\u002F","\u003Cp>This plugin provides a shortcode to include a HTML5 password recovery form on a page on your website and will natively link to this form throughout your site.\u003C\u002Fp>\n\u003Cp>On activation a page with the shortcode [lh_recover_password_form] will be created o0n your site, and it will become your front end password reset form.\u003C\u002Fp>\n\u003Cp>To change the recover password url to a page where you have the recover password form navigate to Wp Admin->Settings->LH Recover Password and paste the page id into the field. You can slo modify the email sent for password recovery and also the subject line in the same settinsg page.\u003C\u002Fp>\n\u003Cp>Check out \u003Ca href=\"http:\u002F\u002Flhero.org\u002Fplugins\u002Flh-recover-password\u002F\" rel=\"nofollow ugc\">our documentation\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Cp>All tickets for the project are being tracked on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshawfactor\u002Flh-recover-password\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Front end password recovery form inserted via shortcode\u003C\u002Fli>\n\u003Cli>Multiple instances possible: Place form shortcode multiple pages or in sidebars and widgets\u003C\u002Fli>\n\u003Cli>If configured will override the WordPress recvover password url so that recover password links point to to your front end recover password page page (extra security)\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily place a HTML5 password recovery form on the front end of your website",10,1764,0,"2019-08-28T04:40:00.000Z","4.5.33","",[18,19,20,21,22],"form","frontend","password","recover-password","shortcode","https:\u002F\u002Flhero.org\u002Fportfolio\u002Flh-recover-password\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flh-recover-password.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},77,14650,87,7,91,"2026-04-03T21:33:38.185Z",[37,60,80,104,130],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":11,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":16,"tags":51,"homepage":56,"download_link":57,"security_score":47,"vuln_count":58,"unpatched_count":13,"last_vuln_date":59,"fetched_at":27},"passwordless-login","Passwordless Login","1.1.4","madalin.ungureanu","https:\u002F\u002Fprofiles.wordpress.org\u002Fmadalinungureanu\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.cozmoslabs.com\u002Fadd-ons\u002Fpasswordless-login\u002F\" rel=\"nofollow ugc\">Passwordless Login\u003C\u002Fa> is a modern way of loggin into your WordPress site without the use of a password.\u003C\u002Fp>\n\u003Cp>Join the discussion here: \u003Ca href=\"https:\u002F\u002Fwww.cozmoslabs.com\u002F31550-wordpress-passwordless-login\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.cozmoslabs.com\u002F31550-wordpress-passwordless-login\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This is how it works:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Instead of asking users for a password when they try to log in to your website, we simply ask them for their username or email\u003C\u002Fli>\n\u003Cli>The plugin creates a temporary authorization token and saves it in a WordPress transient that expires after 10 minutes\u003C\u002Fli>\n\u003Cli>Then we send the user an email with a link and the token\u003C\u002Fli>\n\u003Cli>The user clicks the link and sends the authorization code to your server\u003C\u002Fli>\n\u003Cli>The plugin then checks if the code is valid and creates the log in WordPress cookie, successfully authenticating the user.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can use the shortcode [passwordless-login] in a page or widget.\u003C\u002Fp>\n\u003Cp>If you’re looking to create front-end user registration and profile forms we recommend \u003Ca href=\"https:\u002F\u002Fwww.cozmoslabs.com\u002Fwordpress-profile-builder\u002F\" rel=\"nofollow ugc\">Profile Builder\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>NOTE:\u003C\u002Fp>\n\u003Cp>Passwordless Authentication dose not replace the default login functionality in WordPress.\u003C\u002Fp>\n","Passwordless login form via a simple to use shortcode: [passwordless-login]",1000,30685,100,"2026-02-02T08:30:00.000Z","6.9.4","3.9",[52,53,54,55,38],"custom-login-form","front-end-login","login-shortcode","passwordless","https:\u002F\u002Fwww.cozmoslabs.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpasswordless-login.1.1.4.zip",1,"2024-03-18 00:00:00",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":13,"downloaded":68,"rating":13,"num_ratings":13,"last_updated":16,"tested_up_to":49,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":77,"download_link":78,"security_score":47,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":79},"gravityops-search","GravityOps Search – Search and Display Gravity Forms Entries","1.0.6.1","BrightLeaf Digital","https:\u002F\u002Fprofiles.wordpress.org\u002Feitanatbrightleaf\u002F","\u003Cp>GravityOps Search is a free, powerful shortcode for searching Gravity Forms entries on the front end and displaying the matching results anywhere on your site. Instead of paging through the admin entries screen, you can drop a single shortcode into a page, post, GravityView, or custom template and surface exactly the data you need. It works like an Excel-style lookup for Gravity Forms entries: you define which forms and fields to search, how to compare the values, and what to output for each match.\u003C\u002Fp>\n\u003Cp>The core \u003Ccode>[gravops_search]\u003C\u002Fcode> shortcode lets you target one form, several forms, or even all forms at once. You can filter by one field or many, pass in values directly in the shortcode content, and control whether entries must match all conditions or any of them. The same shortcode can handle simple lookups (showing a single field from the latest matching entry) or more complex reporting-style views that combine fields, entry properties, and custom HTML. Because everything is driven by attributes, you stay in full control of which entries are included and how their data appears on the front end.\u003C\u002Fp>\n\u003Cp>Results are rendered through a flexible \u003Ccode>display\u003C\u002Fcode> attribute, which understands both simple comma-separated field lists and advanced custom display strings with placeholders. You can output raw values, mix multiple fields into labeled text, or construct HTML lists, tables, and cards with links, CSS classes, and nested shortcodes. This gives you a fully custom front-end listing of Gravity Forms entries that you can drop into any layout, theme, or builder, without building a custom query or touching PHP.\u003C\u002Fp>\n\u003Cp>GravityOps Search fully supports Gravity Forms entry properties (such as entry ID, form ID, created-by, and more) alongside regular fields, and it includes options for sorting, limiting, and deduplicating results before they are rendered. You can sort by field values or entry properties, choose ascending, descending, or random ordering, add a secondary sort key, and request unique values only. When no entries match, you can show fallback text or per-field default values, so front-end visitors never see a broken layout or confusing blank output.\u003C\u002Fp>\n\u003Cp>This plugin is built explicitly for front-end entry search and display. It does not add live search tools to the Gravity Forms admin area and does not replace the Entries screen. Instead, it focuses on one thing and does it well: querying Gravity Forms entries in the background and printing clean, formatted results on the pages your users actually see.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Front-end search for Gravity Forms entries using a single, flexible shortcode.\u003C\u002Fli>\n\u003Cli>Target all forms, a single form, or a comma-separated list of form IDs using the \u003Ccode>target\u003C\u002Fcode> attribute.\u003C\u002Fli>\n\u003Cli>Filter entries by a comma-separated list of field IDs or entry properties via the \u003Ccode>search\u003C\u002Fcode> attribute.\u003C\u002Fli>\n\u003Cli>Pass search values in the shortcode content, separated by a pipe (\u003Ccode>|\u003C\u002Fcode>) to match positions with the fields in \u003Ccode>search\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Choose whether entries must match all search conditions (default) or any condition by setting \u003Ccode>search_mode=\\\"any\\\"\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>operators\u003C\u002Fcode> attribute to control how each value is compared to its field, with support for equals, not-equals, partial matches, SQL-style \u003Ccode>LIKE\u003C\u002Fcode>, “in” \u002F “not in” arrays, and numeric comparisons (greater than \u002F less than \u002F greater-or-equal \u002F less-or-equal).\u003C\u002Fli>\n\u003Cli>Display one or many fields and properties for each result using the \u003Ccode>display\u003C\u002Fcode> attribute, which supports both simple lists and rich custom templates.\u003C\u002Fli>\n\u003Cli>Include entry properties and field values in your output using placeholder formats like \u003Ccode>{13}\u003C\u002Fcode>, \u003Ccode>{id}\u003C\u002Fcode>, \u003Ccode>{form_id}\u003C\u002Fcode>, and \u003Ccode>{gos:id}\u003C\u002Fcode> where appropriate.\u003C\u002Fli>\n\u003Cli>Build fully custom HTML output (lists, tables, cards, badges, buttons, links) directly inside the \u003Ccode>display\u003C\u002Fcode> string.\u003C\u002Fli>\n\u003Cli>Insert CSS classes and inline markup into the output so results adopt your theme’s design and layout patterns.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>separator\u003C\u002Fcode> attribute to control how multiple entry results are separated (including HTML separators or no separator at all using \u003Ccode>__none__\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>Sort entries using \u003Ccode>sort_key\u003C\u002Fcode>, \u003Ccode>sort_direction\u003C\u002Fcode>, and \u003Ccode>sort_is_num\u003C\u002Fcode>, with optional \u003Ccode>secondary_sort_key\u003C\u002Fcode> and \u003Ccode>secondary_sort_direction\u003C\u002Fcode> for tie-breaking.\u003C\u002Fli>\n\u003Cli>Limit the number of results returned with \u003Ccode>limit\u003C\u002Fcode>, including support for \u003Ccode>limit=\\\"all\\\"\u003C\u002Fcode> when you need to show every matching entry.\u003C\u002Fli>\n\u003Cli>Turn on \u003Ccode>unique\u003C\u002Fcode> to return only unique result values, great for building deduplicated lists such as unique email addresses, user IDs, or other fields.\u003C\u002Fli>\n\u003Cli>Search for empty or blank values with the \u003Ccode>search_empty\u003C\u002Fcode> attribute and an empty shortcode content, to find incomplete or missing data.\u003C\u002Fli>\n\u003Cli>Provide fallback values when no entries match—or when individual fields are empty—using the \u003Ccode>default\u003C\u002Fcode> attribute.\u003C\u002Fli>\n\u003Cli>Add an admin link to each result with the \u003Ccode>link\u003C\u002Fcode> attribute so power users can jump directly from the front end to the entry in the Gravity Forms admin.\u003C\u002Fli>\n\u003Cli>Designed to work smoothly alongside GravityView, GravityMath, and other shortcodes that can be nested inside the output.\u003C\u002Fli>\n\u003Cli>Compatible with the legacy \u003Ccode>gfsearch\u003C\u002Fcode> snippet approach while offering ongoing updates and a more robust, plugin-based implementation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Cp>At its core, GravityOps Search evaluates your shortcode attributes and content to determine which entries to fetch, then formats each matching entry according to the \u003Ccode>display\u003C\u002Fcode> string you provide. The \u003Ccode>target\u003C\u002Fcode> attribute defines which forms to query: pass \u003Ccode>0\u003C\u002Fcode> to search all forms, a single form ID to target one form, or a comma-separated list of IDs for multi-form searches. The \u003Ccode>search\u003C\u002Fcode> attribute specifies the field IDs and entry properties to filter on, and the shortcode content supplies the corresponding values, separated by the pipe (\u003Ccode>|\u003C\u002Fcode>) character in the same order.\u003C\u002Fp>\n\u003Cp>You can configure the \u003Ccode>search_mode\u003C\u002Fcode> attribute to determine matching logic. The default mode (\u003Ccode>all\u003C\u002Fcode>) requires each entry to satisfy all conditions, while \u003Ccode>search_mode=\\\"any\\\"\u003C\u002Fcode> returns entries that meet at least one of the conditions listed. This gives you the flexibility to build both strict, multi-field filters and more permissive, keyword-style searches. If you need to perform a global search across all fields for a given value, you can leave the relevant search ID blank, and the plugin will look for that value anywhere in the entry.\u003C\u002Fp>\n\u003Cp>Sorting, limiting, and uniqueness are handled after the search conditions are applied. You can specify a \u003Ccode>sort_key\u003C\u002Fcode> (field ID, entry property, or meta key) with \u003Ccode>sort_direction\u003C\u002Fcode> set to \u003Ccode>ASC\u003C\u002Fcode>, \u003Ccode>DESC\u003C\u002Fcode>, or \u003Ccode>RAND\u003C\u002Fcode>. If you are sorting by numeric data, \u003Ccode>sort_is_num\u003C\u002Fcode> ensures values are compared correctly rather than as plain strings. When you need a consistent secondary ordering—such as sorting first by date and then by name—you can use \u003Ccode>secondary_sort_key\u003C\u002Fcode> and \u003Ccode>secondary_sort_direction\u003C\u002Fcode>. Once ordered, the plugin applies the \u003Ccode>limit\u003C\u002Fcode> attribute to control how many entries are actually returned and optionally filters down to unique results based on the full rendered output when \u003Ccode>unique\u003C\u002Fcode> is enabled.\u003C\u002Fp>\n\u003Cp>Defaults and fallbacks keep your front-end output robust. The \u003Ccode>default\u003C\u002Fcode> attribute can define text to display when no entries are found or when specific fields are empty, and the plugin can handle multiple default values mapped to multiple display fields. The \u003Ccode>separator\u003C\u002Fcode> attribute governs how multiple entries are joined, making it easy to build line-separated lists, HTML \u003Ccode>elements, or table rows. Because each [gravops_search]\u003C\u002Fcode> shortcode runs its own live database query, you can place different instances around your site to build different views of the same underlying Gravity Forms data.\u003C\u002Fp>\n\u003Ch3>Display and Formatting\u003C\u002Fh3>\n\u003Cp>The \u003Ccode>display\u003C\u002Fcode> attribute is the heart of how results are shown. In its simplest form, you can pass a comma-separated list of field IDs or entry properties, such as \u003Ccode>display=\\\"13,14,15\\\"\u003C\u002Fcode>. For each matching entry, GravityOps Search outputs those values in order, using sensible default separators between fields and entries. This mode is ideal when you simply need to surface raw values: a quick list of email addresses, a set of IDs, or basic single-column output.\u003C\u002Fp>\n\u003Cp>For more control, \u003Ccode>display\u003C\u002Fcode> supports custom display strings with placeholders. Instead of a list of IDs, you can provide a template like \u003Ccode>display=\\\"Name: {13}, Email: {14}\\\"\u003C\u002Fcode>, which will be rendered for each matching entry. Placeholders like \u003Ccode>{13}\u003C\u002Fcode> insert the value of field 13, while placeholders such as \u003Ccode>{id}\u003C\u002Fcode> and \u003Ccode>{form_id}\u003C\u002Fcode> work with entry properties. When you need to reference non-numeric properties or use merge tags in contexts that parse standard tags (such as GravityView content fields, confirmations, or notifications), you can use the special \u003Ccode>{gos:id}\u003C\u002Fcode> syntax. This gives you a consistent way to assemble complex messages, labels, and markup that incorporate both field data and meta data.\u003C\u002Fp>\n\u003Cp>The \u003Ccode>display\u003C\u002Fcode> attribute also accepts full HTML, including tags, attributes, and CSS classes. You can wrap values in \u003Ccode>,\u003C\u002Fcode>, \u003Ccode>,\u003C\u002Fcode>, “, or any other markup to build lists, tables, cards, or media objects. Because the \u003Ccode>separator\u003C\u002Fcode> attribute supports HTML as well, you can structure your markup so that each entry becomes one list item, table row, or card component. This makes it straightforward to integrate entry results into existing sections of your design, matching your theme and layout without a custom PHP query.\u003C\u002Fp>\n\u003Ch3>Nesting Shortcodes and Advanced Templates\u003C\u002Fh3>\n\u003Cp>GravityOps Search supports nesting other shortcodes inside the \u003Ccode>display\u003C\u002Fcode> attribute via a double-curly-brace syntax: \u003Ccode>{{ ... }}\u003C\u002Fcode>. This means you can embed tools like GravityMath, another \u003Ccode>gravops_search\u003C\u002Fcode>, or any other shortcode directly inside the output template for each entry. The outer \u003Ccode>[gravops_search]\u003C\u002Fcode> processes its own placeholders first and then hands the rendered string to the nested shortcodes, allowing you to feed entry values into calculations, secondary lookups, or formatting helpers.\u003C\u002Fp>\n\u003Cp>When you nest a second \u003Ccode>gravops_search\u003C\u002Fcode> inside the \u003Ccode>display\u003C\u002Fcode> attribute, each shortcode runs its own search and display logic in sequence. The outer shortcode resolves placeholders such as \u003Ccode>{13}\u003C\u002Fcode> and \u003Ccode>{gos:id}\u003C\u002Fcode> in its \u003Ccode>display\u003C\u002Fcode> string, while the nested shortcode uses its own \u003Ccode>display\u003C\u002Fcode> template and attributes. In nested scenarios where you need to reference placeholder values as input to another shortcode or formula, you can use the \u003Ccode>gos:id\u003C\u002Fcode> pattern without braces (for example, \u003Ccode>gos:21\u003C\u002Fcode>) to avoid conflicts with merge-tag parsing. This lets you do things like passing a field value into a GravityMath filter or dynamically controlling filters and IDs inside the nested shortcode configuration.\u003C\u002Fp>\n\u003Cp>Because nested shortcodes are fully supported and the plugin respects all standard shortcode attributes, you can construct sophisticated, layered outputs without custom PHP. For example, you can build a front-end summary that uses one \u003Ccode>[gravops_search]\u003C\u002Fcode> to list matching entries, another to pull related entries, and a GravityMath shortcode to compute totals—all wrapped in your own HTML structure. GravityOps Search handles placeholder substitution and nested processing order so that each piece of your template receives the data it needs at the right time.\u003C\u002Fp>\n\u003Ch3>Search Operators and Multi-Input Fields\u003C\u002Fh3>\n\u003Cp>The \u003Ccode>operators\u003C\u002Fcode> attribute lets you tell GravityOps Search exactly how to compare each search value against its corresponding field or property. You define a comma-separated list of operators that line up with the IDs in the \u003Ccode>search\u003C\u002Fcode> attribute. Supported operators include equality (\u003Ccode>=\u003C\u002Fcode> or \u003Ccode>is\u003C\u002Fcode>), inequality (\u003Ccode>!=\u003C\u002Fcode>, \u003Ccode>isnot\u003C\u002Fcode>, \u003Ccode>is not\u003C\u002Fcode>), partial matches (\u003Ccode>contains\u003C\u002Fcode>), SQL-style wildcard matches (\u003Ccode>like\u003C\u002Fcode>), membership tests (\u003Ccode>in\u003C\u002Fcode>, \u003Ccode>not in\u003C\u002Fcode>), and numeric comparisons (\u003Ccode>gt\u003C\u002Fcode>, \u003Ccode>lt\u003C\u002Fcode>, \u003Ccode>gt=\u003C\u002Fcode>, \u003Ccode>lt=\u003C\u002Fcode>). If you provide fewer operators than search fields, remaining fields default to exact matches; extra operators beyond the number of fields are ignored. When you omit \u003Ccode>operators\u003C\u002Fcode> entirely, all fields use exact matching by default.\u003C\u002Fp>\n\u003Cp>For more advanced scenarios, certain operators expect specific value formats. When using \u003Ccode>in\u003C\u002Fcode> or \u003Ccode>not in\u003C\u002Fcode>, for example, you can pass a PHP-style array in the shortcode content—such as \u003Ccode>array(\\'item one\\',\\'item two\\',\\'item three\\')\u003C\u002Fcode>—to test whether the field value appears in that list. This makes it easy to filter entries against multiple acceptable values for a single field without duplicating field IDs. Combined with \u003Ccode>search_mode\u003C\u002Fcode>, you can express a wide range of conditions: from strict multi-field comparisons to flexible multi-value lists and keyword-style filters.\u003C\u002Fp>\n\u003Cp>Multi-input Gravity Forms fields (like Name, Address, and Checkbox fields) are fully supported, but they behave differently for display versus search. When displaying, using the base field ID in a placeholder (e.g., \u003Ccode>{13}\u003C\u002Fcode>) automatically combines all sub-inputs (such as first name and last name) into a single string separated by spaces. If you need to display a specific sub-input—like first name only—you can use its input ID directly, for example \u003Ccode>{13.3}\u003C\u002Fcode>. When searching, checkboxes are best handled by searching the base field ID so that changes to individual options or dynamic checkboxes do not break the search. Other multi-input fields (like Name and Address) should be searched using their individual input IDs (e.g., \u003Ccode>13.3\u003C\u002Fcode>, \u003Ccode>13.6\u003C\u002Fcode>), as searching by the base ID will not work for those types.\u003C\u002Fp>\n\u003Ch3>Performance and Access Control\u003C\u002Fh3>\n\u003Cp>Every \u003Ccode>[gravops_search]\u003C\u002Fcode> shortcode runs a live database query against Gravity Forms entries, so thoughtful usage is important for both performance and privacy. On the performance side, heavy use of \u003Ccode>limit=\\\"all\\\"\u003C\u002Fcode>, many nested shortcodes, and large forms with complex conditions can slow down page loads. To keep pages responsive, it is recommended to set a reasonable \u003Ccode>limit\u003C\u002Fcode> where possible, minimize unnecessary nesting, and consider caching the rendered page output using your preferred caching plugin or server-level caching tools. These simple steps help ensure that even data-heavy views remain fast and reliable.\u003C\u002Fp>\n\u003Cp>On the access-control side, the shortcode does not enforce any special permission checks by itself. Anyone who can view the page where the shortcode is placed will be able to see whatever Gravity Forms entry data you choose to display, including potentially sensitive information. To protect private or restricted data, you should place the shortcode inside pages or templates that are protected by membership plugins, password protection, role-based visibility, or other gating mechanisms. This keeps the plugin flexible and focused on data retrieval and formatting, while allowing you to decide how and where to expose entry data based on your site’s security model.\u003C\u002Fp>\n\u003Cp>GravityOps Search is designed to be both powerful and predictable: you define the forms, fields, filters, and display template, and the plugin takes care of querying and rendering. Used thoughtfully, it becomes a core tool for building dynamic, entry-driven front-end experiences on top of Gravity Forms, without custom development or complex integrations.\u003C\u002Fp>\n","Search Gravity Forms entries on the front end and display matching results anywhere. Filter by any field value. Output custom formatted data.",485,"6.5","8.0",[72,73,74,75,76],"display-form-entries","form-data-lookup","frontend-entry-search","gravity-forms","shortcode-results-display","https:\u002F\u002Fbrightleafdigital.io\u002Fgravityops-search\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgravityops-search.1.0.6.1.zip","2026-03-15T10:48:56.248Z",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":16,"tags":95,"homepage":99,"download_link":100,"security_score":101,"vuln_count":102,"unpatched_count":13,"last_vuln_date":103,"fetched_at":27},"mw-wp-form","MW WP Form","5.1.0","Takashi Kitajima","https:\u002F\u002Fprofiles.wordpress.org\u002Finc2734\u002F","\u003Cp>\u003Cstrong>This plugin currently has only the minimum required maintenance releases.\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>Main maintainer has been handed over from @inc2734 to @websoudan.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>MW WP Form can create mail form with a confirmation screen using shortcode.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Form created using shortcodes\u003C\u002Fli>\n\u003Cli>Using confirmation page is possible.\u003C\u002Fli>\n\u003Cli>The page changes by the same URL or individual URL are possible.\u003C\u002Fli>\n\u003Cli>Many validation rules\u003C\u002Fli>\n\u003Cli>Saving inquiry data is possible.\u003C\u002Fli>\n\u003Cli>Displaying Chart using saved inquiry data is possible.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Official\u003C\u002Fh4>\n\u003Cp>https:\u002F\u002Fmw-wp-form.web-soudan.co.jp\u003C\u002Fp>\n\u003Ch4>GitHub\u003C\u002Fh4>\n\u003Cp>https:\u002F\u002Fgithub.com\u002Fweb-soudan\u002Fmw-wp-form\u003C\u002Fp>\n\u003Ch4>The following third-party resources\u003C\u002Fh4>\n\u003Cp>Google Charts\u003Cbr \u002F>\nSource: https:\u002F\u002Fdevelopers.google.com\u002Fchart\u002F\u003C\u002Fp>\n\u003Ch4>Contributors\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002F2inc.org\" rel=\"nofollow ugc\">Takashi Kitajima\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Finc2734\" rel=\"nofollow ugc\">inc2734\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwebcre-archive.com\" rel=\"nofollow ugc\">Ryujiro Yamamoto\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fryu263\" rel=\"nofollow ugc\">ryu263\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fkee-non.com\" rel=\"nofollow ugc\">Tsujimoto Tomoyuki\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Ftomothumb\" rel=\"nofollow ugc\">tomothumb\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>[Naoyuki Ohata] ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnanniku\" rel=\"nofollow ugc\">nanniku\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fmt8.biz\u002F\" rel=\"nofollow ugc\">Kazuto Takeshita\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmt8biz\u002F\" rel=\"nofollow ugc\">moto hachi\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.next-season.net\u002F\" rel=\"nofollow ugc\">Atsushi Ando\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnext-season\u002F\" rel=\"nofollow ugc\">NExt-Season\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fvisualive.jp\u002F\" rel=\"nofollow ugc\">Kazuki Tomiyasu\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fkuck1u\u002F\" rel=\"nofollow ugc\">KUCKLU\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fmypacecreator.net\u002F\" rel=\"nofollow ugc\">Kei Nomura\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmypacecreator\u002F\" rel=\"nofollow ugc\">mypacecreator\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmh35\" rel=\"nofollow ugc\">mh35\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnojimage\" rel=\"nofollow ugc\">Takashi Nojima\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fherikutu\" rel=\"nofollow ugc\">herikutu\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftsucharoku\" rel=\"nofollow ugc\">tsucharoku\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ft-hamano\" rel=\"nofollow ugc\">Tetsuaki Hamano\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fwildworks\u002F\" rel=\"nofollow ugc\">t-hamano\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmusus\" rel=\"nofollow ugc\">Susumu Seino\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmusus\u002F\" rel=\"nofollow ugc\">Susumu Seino\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flikr\" rel=\"nofollow ugc\">Yosuke Onoue\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Flikr\u002F\" rel=\"nofollow ugc\">likr\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyudai524\" rel=\"nofollow ugc\">Yudai Konishi\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fyudai524\u002F\" rel=\"nofollow ugc\">Yudai Konishi\u003C\u002Fa> )\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnoldorinfo\" rel=\"nofollow ugc\">takekoshi\u003C\u002Fa> ( \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnoldorinfo\u002F\" rel=\"nofollow ugc\">takekoshi\u003C\u002Fa> )\u003C\u002Fli>\n\u003C\u002Ful>\n","MW WP Form is shortcode base contact form plugin. This plugin have many features. For example you can use many validation rules, inquiry data saving,  &hellip;",200000,1771027,86,22,"2024-03-13T02:48:00.000Z","6.4.8","6.0",[96,18,97,98,22],"confirm","mail","preview","https:\u002F\u002Fmw-wp-form.web-soudan.co.jp","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmw-wp-form.5.1.0.zip",81,5,"2024-01-31 00:00:00",{"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":49,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":125,"download_link":126,"security_score":127,"vuln_count":128,"unpatched_count":13,"last_vuln_date":129,"fetched_at":27},"yith-woocommerce-ajax-search","YITH WooCommerce Ajax Search","2.22.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,3353139,60,42,"2026-02-26T14:37:00.000Z","6.7","7.4",[120,121,122,123,124],"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.22.0.zip",95,4,"2024-09-30 00:00:00",{"slug":131,"name":132,"version":133,"author":134,"author_profile":135,"description":136,"short_description":137,"active_installs":138,"downloaded":139,"rating":140,"num_ratings":141,"last_updated":142,"tested_up_to":49,"requires_at_least":69,"requires_php":16,"tags":143,"homepage":149,"download_link":150,"security_score":151,"vuln_count":11,"unpatched_count":58,"last_vuln_date":152,"fetched_at":27},"contact-form-plugin","Contact Form by BestWebSoft – Advanced WP Contact Form Builder for WordPress","4.3.6","bestwebsoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fbestwebsoft\u002F","\u003Cp>\u003Cstrong>Contact Form by BestWebSoft\u003C\u002Fstrong> is an advanced form builder for WordPress that makes it easy to create and manage contact forms on your website. Receive messages from visitors directly to your email by using convenient shortcodes to insert contact forms into pages, posts or widgets.\u003C\u002Fp>\n\u003Cp>Looking for a Contact Form 7 alternative? Our plugin offers similar functionality with an even more intuitive interface and additional features.\u003C\u002Fp>\n\u003Ch3>Key Benefits:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>WP Contact Form\u003C\u002Fstrong>: Create beautiful contact forms for your WordPress site without any coding\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contact Widget\u003C\u002Fstrong>: Add contact forms to your sidebar or other widget areas\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Contact Form\u003C\u002Fstrong>: Insert forms anywhere using simple shortcodes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contact Button Style\u003C\u002Fstrong>: Customize your submit button with professional styling options\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Contact Page\u003C\u002Fstrong>: Create dedicated contact pages for better user engagement\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GDPR Compliant\u003C\u002Fstrong>: Built-in data protection features\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Layout\u003C\u002Fstrong>: Forms adapt to any device and screen size\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Spam Protection\u003C\u002Fstrong>: Protect your forms using CAPTCHA or reCaptcha\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Fields\u003C\u002Fstrong>: Make any field required or optional\u003C\u002Fli>\n\u003Cli>\u003Cstrong>File Attachments\u003C\u002Fstrong>: Allow users to attach multiple files to their messages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Similar to Contact Form 7\u003C\u002Fstrong>: Familiar interface for those switching from CF7\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Choose Contact Form by BestWebSoft?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Easy Integration\u003C\u002Fstrong>: Simply add [bestwebsoft_contact_form] shortcode to any page or post\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Forms Support\u003C\u002Fstrong>: Create unlimited forms with different fields and settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Validation\u003C\u002Fstrong>: Ensure data quality with built-in field validation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Email Templates\u003C\u002Fstrong>: Customize email notifications for both admin and users\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Database Storage\u003C\u002Fstrong>: Option to store all form submissions in your WordPress database\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-language Support\u003C\u002Fstrong>: Translate your forms into any language\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong>: Clean code and extensive documentation for customization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regular Updates\u003C\u002Fstrong>: Constant improvements and compatibility updates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Professional Support\u003C\u002Fstrong>: Get help when you need it from our dedicated support team\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Perfect For:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Contact pages\u003C\u002Fli>\n\u003Cli>Feedback forms\u003C\u002Fli>\n\u003Cli>Support request forms\u003C\u002Fli>\n\u003Cli>Quote request forms\u003C\u002Fli>\n\u003Cli>Newsletter signups\u003C\u002Fli>\n\u003Cli>Job application forms\u003C\u002Fli>\n\u003Cli>Customer surveys\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdemo-for-contact-form-pro\u002F?ref=readme\" rel=\"nofollow ugc\">View Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FF_piQa0hmkU?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>Free Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Powerful WordPress Contact Form Integration – Add forms to any post, page or widget using simple shortcode\u003C\u002Fli>\n\u003Cli>Complete GDPR Compliance Tools – Protect user data and maintain privacy standards\u003C\u002Fli>\n\u003Cli>Advanced Data Validation – Ensure data quality before form submission\u003C\u002Fli>\n\u003Cli>Message Length Control – Set character limits for message text fields\u003C\u002Fli>\n\u003Cli>Smart Email Copy System – Send copies of submitted messages to specified email addresses\u003C\u002Fli>\n\u003Cli>Flexible Email Routing – Receive submissions to default admin or custom email addresses\u003C\u002Fli>\n\u003Cli>Comprehensive Submission Data – Get detailed sender information in email notifications:\n\u003Cul>\n\u003Cli>Secure IP address tracking\u003C\u002Fli>\n\u003Cli>Precise timestamp data\u003C\u002Fli>\n\u003Cli>Referral source tracking\u003C\u002Fli>\n\u003Cli>Browser\u002Fdevice information\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Modern Responsive Design – Forms adapt perfectly to all devices and screen sizes\u003C\u002Fli>\n\u003Cli>Custom Field Labels – Edit and personalize all form field labels\u003C\u002Fli>\n\u003Cli>Required Fields Management – Make any fields mandatory or optional\u003C\u002Fli>\n\u003Cli>Enhanced Contact Fields – Configure name, address and phone fields\u003C\u002Fli>\n\u003Cli>Advanced File Handling – Allow multiple file attachments\u003C\u002Fli>\n\u003Cli>Extended Form Fields – Enable additional pre-built form elements\u003C\u002Fli>\n\u003Cli>E-sign Form Field – Enable sign form element\u003C\u002Fli>\n\u003Cli>Two-Column Layout Option – Create professional multi-column forms\u003C\u002Fli>\n\u003Cli>Custom Form Width – Adjust form width to match your design\u003C\u002Fli>\n\u003Cli>Drag & Drop Field Order – Easily reorganize form fields\u003C\u002Fli>\n\u003Cli>Multi-Language Support – Translate forms using the built-in language customizer\u003C\u002Fli>\n\u003Cli>Premium Spam Protection – Secure forms with \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcaptcha\u002F?k=45dcf2a5ccd70a7fc8606f8030730ac7\" rel=\"nofollow ugc\">Captcha\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fgoogle-captcha\u002F?k=159789f556e3a9c58df8f25384903ba5\" rel=\"nofollow ugc\">reCaptcha\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Unlimited Forms – Create multiple forms with \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcontact-form-multi\u002F?k=34543c152eff369d529e9b4da85985a9\" rel=\"nofollow ugc\">Contact Form Multi\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Database Integration – Save messages with \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcontact-form-to-db\u002F?k=d7d962591b5be0ce6c27af778b1b36ee\" rel=\"nofollow ugc\">Contact Form to DB\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Newsletter Integration – Add form users to \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fsubscriber\u002F?k=2ce0827916414c9c8576110f13560030\" rel=\"nofollow ugc\">Subscriber\u003C\u002Fa> lists\u003C\u002Fli>\n\u003Cli>Anti-Spam Protection – Control submission frequency with \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Flimit-attempts\u002F?k=129e34c19fc68ae4a15b4fc1b4983081\" rel=\"nofollow ugc\">Limit Attempts\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>WordPress Compatibility – Works perfectly with latest WordPress version\u003C\u002Fli>\n\u003Cli>Quick Setup – Simple settings for fast deployment without coding\u003C\u002Fli>\n\u003Cli>Extensive Documentation – Detailed guides and video tutorials\u003C\u002Fli>\n\u003Cli>Global Support – Multi-language and RTL ready\u003C\u002Fli>\n\u003Cli>Send test email\u003C\u002Fli>\n\u003Cli>Use Gutenberg block\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>All features from Free version included plus:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Advanced Custom Fields – Create unlimited custom form fields\u003C\u002Fli>\n\u003Cli>Smart Department Routing – Add department selection and message sorting\u003C\u002Fli>\n\u003Cli>Enhanced Privacy Options – Add customizable terms and privacy checkboxes\u003C\u002Fli>\n\u003Cli>Intelligent Auto-Fill – Pre-populate fields for logged-in users\u003C\u002Fli>\n\u003Cli>Professional Email Headers – Add “Reply to” email address in message headers\u003C\u002Fli>\n\u003Cli>Default Text Options – Set pre-filled subject and message content\u003C\u002Fli>\n\u003Cli>Phone Validation – Ensure correct phone number formats\u003C\u002Fli>\n\u003Cli>Complete Field Control – Show, hide or disable core fields:\n\u003Cul>\n\u003Cli>Name field\u003C\u002Fli>\n\u003Cli>Email field\u003C\u002Fli>\n\u003Cli>Subject field\u003C\u002Fli>\n\u003Cli>Message field\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Auto-Response System – Send customized automatic replies\u003C\u002Fli>\n\u003Cli>Analytics Integration – Track form submissions with Google Analytics\u003C\u002Fli>\n\u003Cli>Custom Code Integration – Add custom code through settings panel\u003C\u002Fli>\n\u003Cli>Use Honeypot field\u003C\u002Fli>\n\u003Cli>Advanced Form Styling:\n\u003Cul>\n\u003Cli>No-code style customization\u003C\u002Fli>\n\u003Cli>Complete alignment control\u003C\u002Fli>\n\u003Cli>Custom submit button design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Enhanced User Experience – Customizable tooltips and placeholders\u003C\u002Fli>\n\u003Cli>Priority Support – Get answers within one business day (\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fsupport-policy\u002F\" rel=\"nofollow ugc\">Support Policy\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcontact-form\u002F?k=4028655c87316c98ae9ac7ca1928067f\" rel=\"nofollow ugc\">Upgrade to Pro Now\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>If you have a feature suggestion or idea you’d like to see in the plugin, we’d love to hear about it! \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">Suggest a Feature\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Documentation & Videos\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fcontact-form\u002F\" rel=\"nofollow ugc\">[Doc] User Guide\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fhow-to-install-a-wordpress-product\u002Fhow-to-install-a-wordpress-plugin\u002F\" rel=\"nofollow ugc\">[Doc] Installation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fdocumentation\u002Fhow-to-purchase-a-wordpress-plugin\u002Fhow-to-purchase-wordpress-plugin-from-bestwebsoft\u002F\" rel=\"nofollow ugc\">[Doc] Purchase\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=k1wq00ajACo\" rel=\"nofollow ugc\">[Video] Purchase, Installation, Configuration Tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=JwG2c4PcO8o\" rel=\"nofollow ugc\">[Video] Installation Instruction\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Help & Support\u003C\u002Fh4>\n\u003Cp>Visit our Help Center if you have any questions, our friendly Support Team is happy to help — \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fsupport.bestwebsoft.com\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Affiliate Program\u003C\u002Fh4>\n\u003Cp>Earn 20% commission by selling the premium WordPress plugins and themes by BestWebSoft — \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Faffiliate\u002F?utm_source=plugin&utm_medium=readme&utm_campaign=affiliate_program\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u002Faffiliate\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Afrikaans (af_ZA) (thanks to \u003Ca href=\"mailto:alducornelissen@gmail.com\" rel=\"nofollow ugc\">Aldu\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Brazilian Portuguese (pt_BR) (thanks to \u003Ca href=\"mailto:brenojac@gmail.com\" rel=\"nofollow ugc\">Breno Jacinto\u003C\u002Fa>, www.iconis.org.br, \u003Ca href=\"mailto:wordpress@djio.com.br\" rel=\"nofollow ugc\">DJIO\u003C\u002Fa>, www.djio.com.br)\u003C\u002Fli>\n\u003Cli>Catalan (ca) (thanks to \u003Ca href=\"mailto:jmbescos@ibidemgroup.com\" rel=\"nofollow ugc\">Jose Bescos\u003C\u002Fa> – www.ibidemgroup.com)\u003C\u002Fli>\n\u003Cli>Chinese (zh_CN) (thanks to \u003Ca href=\"mailto:kplam@qq.com\" rel=\"nofollow ugc\">kplam\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Czech (cs_CZ) (thanks to \u003Ca href=\"mailto:kucerami@gmail.com\" rel=\"nofollow ugc\">Michal Kučera\u003C\u002Fa>, www.n0lim.it, \u003Ca href=\"mailto:info@pamadessoft.cz\" rel=\"nofollow ugc\">PaMaDeSSoft\u003C\u002Fa>, www.pamadessoft.cz)\u003C\u002Fli>\n\u003Cli>Danish (da_DK) (thanks to \u003Ca href=\"mailto:support@teknisk-support.com\" rel=\"nofollow ugc\">Kasper Jensen\u003C\u002Fa>, www.teknisk-support.com)\u003C\u002Fli>\n\u003Cli>Dutch (nl_NL) (thanks to \u003Ca href=\"mailto:olivier.smet@dynata.nl\" rel=\"nofollow ugc\">Olivier Smet\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Estonian (et) (thanks to \u003Ca href=\"mailto:feliks@veebimeister.com\" rel=\"nofollow ugc\">Feliks\u003C\u002Fa>, www.veebimeister.com)\u003C\u002Fli>\n\u003Cli>French (fr_FR) (thanks \u003Ca href=\"mailto:lcapronnier@yahoo.com\" rel=\"nofollow ugc\">Capronnier Luc\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>German (de_DE) (thanks to \u003Ca href=\"mailto:private18@web.de\" rel=\"nofollow ugc\">Alex\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Greek (el) (thanks to Dimitris Karantonis, www.soft4real.com\u002Fen-UK)\u003C\u002Fli>\n\u003Cli>Indonesian (id_ID) (thanks to \u003Ca href=\"mailto:jordan.silaen@chameleonjohn.com\" rel=\"nofollow ugc\">Jordan Silaen\u003C\u002Fa>, www.chameleonjohn.com)\u003C\u002Fli>\n\u003Cli>Japanese (ja) (thanks to Foken)\u003C\u002Fli>\n\u003Cli>Norwegian (nb_NO) (thanks to \u003Ca href=\"mailto:bestwebsoftcontact@nordsoft.no\" rel=\"nofollow ugc\">Per Rommetveit\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>Russian (ru_RU)\u003C\u002Fli>\n\u003Cli>Slovak (sk_SK) (thanks to \u003Ca href=\"mailto:michal.vittek@wp.sk\" rel=\"nofollow ugc\">Michal Vittek\u003C\u002Fa>, www.wp.sk)\u003C\u002Fli>\n\u003Cli>Spanish (es_ES) (thanks to Javitopo)\u003C\u002Fli>\n\u003Cli>Swedish (sv_SE) (thanks to Martin Tonek, \u003Ca href=\"mailto:joakim@limewoodmedia.com\" rel=\"nofollow ugc\">Joakim Lindskog\u003C\u002Fa>, \u003Ca href=\"mailto:maarten@vandendriest.com\" rel=\"nofollow ugc\">Maarten van den Driest\u003C\u002Fa> – www.crossanddot.nl)\u003C\u002Fli>\n\u003Cli>Turkish (tr) (thanks to Can Atasever, www.canatasever.com)\u003C\u002Fli>\n\u003Cli>Ukrainian (uk)\u003C\u002Fli>\n\u003Cli>Vietnamese (vi) (thanks to \u003Ca href=\"mailto:bizover@gmail.com\" rel=\"nofollow ugc\">Dich Anh Viet\u003C\u002Fa>, www.bizover.net)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Some of these translations are not complete. We are constantly adding new features which should be translated. If you would like to create your own language pack or update the existing one, you can send \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTranslating_WordPress\" rel=\"nofollow ugc\">the text of PO and MO files\u003C\u002Fa> to \u003Ca href=\"https:\u002F\u002Fsupport.bestwebsoft.com\u002Fhc\u002Fen-us\u002Frequests\u002Fnew\" rel=\"nofollow ugc\">BestWebSoft\u003C\u002Fa> and we’ll add it to the plugin. You can download the latest version of the program for work with PO and MO \u003Ca href=\"https:\u002F\u002Fwww.poedit.net\u002Fdownload.php\" rel=\"nofollow ugc\">files Poedit\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Recommended Plugins\u003C\u002Fh4>\n\u003Cp>The author of the Contact Form also recommends the following plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fsmtp\u002F\" rel=\"nofollow ugc\">SMTP\u003C\u002Fa> – Configure SMTP server to receive email messages from WordPress to Gmail, Yahoo, Hotmail and other services.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcaptcha\u002F?k=45dcf2a5ccd70a7fc8606f8030730ac7\" rel=\"nofollow ugc\">Captcha\u003C\u002Fa> – #1 super security anti-spam captcha plugin for WordPress forms.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fgoogle-captcha\u002F?k=159789f556e3a9c58df8f25384903ba5\" rel=\"nofollow ugc\">reCaptcha\u003C\u002Fa> –  Protect WordPress website forms from spam entries with reCaptcha.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Flimit-attempts\u002F?k=129e34c19fc68ae4a15b4fc1b4983081\" rel=\"nofollow ugc\">Limit Attempts\u003C\u002Fa> – Protect WordPress website against brute force attacks. Limit rate of login attempts.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcontact-form-multi\u002F?k=34543c152eff369d529e9b4da85985a9\" rel=\"nofollow ugc\">Contact Form Multi\u003C\u002Fa> – Add unlimited number of contact forms to WordPress website.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcontact-form-to-db\u002F?k=d7d962591b5be0ce6c27af778b1b36ee\" rel=\"nofollow ugc\">Contact Form to DB\u003C\u002Fa> – Save and manage contact form messages. Never lose important data.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fupdater\u002F?k=982fae837f4c6e3b152183537448dbca\" rel=\"nofollow ugc\">Updater\u003C\u002Fa> – Automatically check and update WordPress website core with all installed plugins and themes to the latest versions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin, when certain options are activated, may connect to Google Analytics (Google LLC) servers to process information about the submission of contact forms. \u003Ca href=\"https:\u002F\u002Fanalytics.google.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fanalytics.google.com\u002F\u003C\u002Fa> Terms of service \u003Ca href=\"https:\u002F\u002Fwww.google.com\u002Fanalytics\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.google.com\u002Fanalytics\u002F\u003C\u002Fa>. Privacy Policy \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>This plugin incorporates a license verification mechanism to ensure the authenticity of your license key and provide access to premium features and updates. The verification process involves connecting securely to our external service hosted at BestWebSoft website \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u003C\u002Fa>. Privacy Policy \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u002Fprivacy-policy\u002F\u003C\u002Fa>. End user license agreement \u003Ca href=\"https:\u002F\u002Fbestwebsoft.com\u002Fend-user-license-agreement\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fbestwebsoft.com\u002Fend-user-license-agreement\u002F\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","The most powerful and user-friendly WordPress contact form plugin. Create beautiful contact forms, widgets and pages using shortcodes.",30000,5266792,80,291,"2025-12-25T09:26:00.000Z",[144,145,146,147,148],"contact-button","contact-page","contact-widget","shortcode-contact-form","wp-contact-form","https:\u002F\u002Fbestwebsoft.com\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fcontact-form\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcontact-form-plugin.4.3.6.zip",67,"2025-12-07 00:00:00",{"attackSurface":154,"codeSignals":196,"taintFlows":232,"riskAssessment":233,"analyzedAt":241},{"hooks":155,"ajaxHandlers":186,"restRoutes":187,"shortcodes":188,"cronEvents":193,"entryPointCount":58,"unprotectedCount":13},[156,162,166,170,174,178,182],{"type":157,"name":158,"callback":159,"file":160,"line":161},"action","init","register_shortcodes","lh-recover-password.php",406,{"type":157,"name":163,"callback":164,"file":160,"line":165},"wp","action_recovery",407,{"type":157,"name":167,"callback":168,"file":160,"line":169},"admin_menu","plugin_menu",408,{"type":157,"name":171,"callback":172,"file":160,"line":173},"lh_recover_password-sendemail","send_email",409,{"type":175,"name":176,"callback":176,"priority":11,"file":160,"line":177},"filter","lostpassword_url",410,{"type":175,"name":179,"callback":180,"priority":11,"file":160,"line":181},"the_title","hide_title",411,{"type":175,"name":183,"callback":184,"priority":11,"file":160,"line":185},"plugin_action_links","add_settings_link",412,[],[],[189],{"tag":190,"callback":191,"file":160,"line":192},"lh_recover_password_form","lh_recover_password_form_shortcode_output",169,[194],{"hook":171,"callback":171,"file":160,"line":195},184,{"dangerousFunctions":197,"sqlUsage":198,"outputEscaping":203,"fileOperations":13,"externalRequests":13,"nonceChecks":58,"capabilityChecks":58,"bundledLibraries":231},[],{"prepared":13,"raw":58,"locations":199},[200],{"file":160,"line":201,"context":202},384,"$wpdb->get_col() with variable interpolation",{"escaped":128,"rawEcho":204,"locations":205},15,[206,209,211,213,215,217,218,220,222,223,224,225,227,229,230],{"file":160,"line":207,"context":208},108,"raw output",{"file":160,"line":210,"context":208},117,{"file":160,"line":212,"context":208},137,{"file":160,"line":214,"context":208},300,{"file":160,"line":216,"context":208},307,{"file":160,"line":216,"context":208},{"file":160,"line":219,"context":208},309,{"file":160,"line":221,"context":208},310,{"file":160,"line":221,"context":208},{"file":160,"line":221,"context":208},{"file":160,"line":221,"context":208},{"file":160,"line":226,"context":208},313,{"file":160,"line":228,"context":208},314,{"file":160,"line":228,"context":208},{"file":160,"line":228,"context":208},[],[],{"summary":234,"deductions":235},"The \"lh-recover-password\" plugin version 1.13 exhibits a generally good security posture based on the provided static analysis and vulnerability history. It has no known CVEs, indicating a lack of historically exploitable vulnerabilities. The analysis reveals a small attack surface with only one entry point (a shortcode) and importantly, this entry point has an associated capability check, suggesting that access to this functionality is likely restricted to authenticated users. Furthermore, the presence of a nonce check adds a layer of defense against Cross-Site Request Forgery (CSRF) attacks.\n\nHowever, there are areas for improvement that prevent a perfect security score. The most significant concern is the SQL query. 100% of SQL queries are not using prepared statements, which presents a clear risk of SQL injection. While the plugin has no recorded taint flows, the lack of prepared statements for its single SQL query is a fundamental security flaw that could be exploited if the input is not rigorously sanitized before being used in the query. Additionally, the output escaping is only 21% proper, suggesting a significant risk of Cross-Site Scripting (XSS) vulnerabilities where user-controlled data might be reflected in the output without proper sanitization.\n\nIn conclusion, the plugin demonstrates strengths in limiting its attack surface and implementing basic authentication and CSRF protection. Nevertheless, the absence of prepared statements for SQL queries and the low percentage of properly escaped output are critical weaknesses that require immediate attention to mitigate the risks of SQL injection and XSS attacks. Addressing these specific issues would significantly improve the plugin's overall security.",[236,238],{"reason":237,"points":11},"Raw SQL without prepared statements",{"reason":239,"points":240},"Low percentage of properly escaped output",8,"2026-03-17T00:29:12.501Z",{"wat":243,"direct":250},{"assetPaths":244,"generatorPatterns":246,"scriptPaths":247,"versionParams":248},[245],"\u002Fwp-content\u002Fplugins\u002Flh-recover-password\u002Fassets\u002Flh-recover-password.js",[],[245],[249],"lh-recover-password.js?ver=",{"cssClasses":251,"htmlComments":255,"htmlAttributes":258,"restEndpoints":267,"jsGlobals":268,"shortcodeOutput":270},[252,253,254],"confirmMessage","input","button-primary",[256,257],"\u003C!--[if lt IE 10]>\u003Clabel for=\"lh_recover_password-email\">","\u003C!-- Your email -->",[259,260,261,262,263,264,265,266],"data-lh_recover_password-front_end-nonce","id=\"lh_recover_password-email\"","name=\"lh_recover_password-email\"","id=\"lh_recover_password-front_end-submit\"","name=\"lh_recover_password-front_end-submit\"","id=\"lh_recover_password-confirm_message\"","name=\"lh_recover_password-front_end-form-nonce\"","id=\"lh_recover_password-front_end-form-nonce\"",[],[269],"lh_recover_password-result",[271],"[lh_recover_password_form]"]