[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNiNniB-KBdJDJlt4LUmppoFcVYIfvLdosm6oqnFgXGw":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":49,"crawl_stats":38,"alternatives":54,"analysis":151,"fingerprints":1264},"download-now-for-woocommerce","Free Downloads WooCommerce","3.6.4","Wp Enhanced","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpenhanced\u002F","\u003Cp>\u003Cstrong>Free Downloads WooCommerce\u003C\u002Fstrong> is the definitive plugin for offering free downloads on your WooCommerce store. It allows users to bypass the checkout to download your free products, supports single and multiple files, works with WooCommerce Memberships, and is highly customisable.\u003C\u002Fp>\n\u003Cp>This plugin has been designed for content creators and distributors to fully take advantage of their digital store. Whether you sell audio files, course documentation, themes and plugins, or just want to offer digital catalogues for your tangible products, \u003Cstrong>Free Downloads WooCommerce\u003C\u002Fstrong> allows your visitors to get to your free downloads with ease.\u003C\u002Fp>\n\u003Cp>This plugin is safe and rock-solid secure, and everything is handled by your server including authentication, so you don’t have to worry.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Free Downloads WooCommerce\u003C\u002Fstrong> is also fully integrated with the official \u003Cstrong>Memberships\u003C\u002Fstrong> and \u003Cstrong>Subscriptions\u003C\u002Fstrong> plugins for WooCommerce.\u003C\u002Fp>\n\u003Ch3>Basic Edition\u003C\u002Fh3>\n\u003Ch4>What you can expect in the basic free version.\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Free digital products can be downloaded by your users without going through the checkout.\u003C\u002Fli>\n\u003Cli>Supports downloading products straight from the shop listings pages.\u003C\u002Fli>\n\u003Cli>Allow free downloading of customer owned digital products from product pages\u003C\u002Fli>\n\u003Cli>Custom WooCommerce Quick View feature\u003C\u002Fli>\n\u003Cli>Built-in support for PDF files.\u003C\u002Fli>\n\u003Cli>Built-in support for WooCommerce Memberships and Subscriptions, allowing you to tailor the plugin to your needs.\u003C\u002Fli>\n\u003Cli>Fully supports products with multiple files, with several layout options to choose from.\u003C\u002Fli>\n\u003Cli>Download buttons and links will automatically style to match your theme.\u003C\u002Fli>\n\u003Cli>Add custom CSS and HTML classes to the download buttons and links for extra visual customisation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pro Edition\u003C\u002Fh3>\n\u003Ch4>Buy Free Downloads WooCommerce Pro today and get access to these amazing features!\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Advanced Product Restrictions:\u003C\u002Fstrong> Restrict free downloads by products, categories and tags.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Variable and Grouped Products:\u003C\u002Fstrong> Full support for grouped and variable products.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Download Delivery Methods:\u003C\u002Fstrong> Option to serve your downloads after redirecting to a page or emailing a link.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce PDF Watermark:\u003C\u002Fstrong> Compatibility with the official WooCommerce PDF Watermark plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download limitations:\u003C\u002Fstrong> Restrict your users to a set number of free downloads per day\u002Fweek\u002Fmonth\u002Fyear. Users with WooCommerce Membership plans can have custom download limits, as well as specific user roles and user accounts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download tracking with reporting:\u003C\u002Fstrong> Keep a record of every free download showing the product, variation (if applicable), date, user, email address and IP address.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Account download history:\u003C\u002Fstrong> Show a list of the user’s free download history on their WooCommerce account page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email capture:\u003C\u002Fstrong> Ask your guest users for their email address before downloading, including subscribing them to your MailChimp newsletter!\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Paid Member Subscriptions:\u003C\u002Fstrong> Compatibility with Paid Member Subscriptions plugin by Cozmoslabs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Woocommerce Products List:\u003C\u002Fstrong> Compatibility with Woocommerce Products List plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Premium support:\u003C\u002Fstrong> You never have to worry about plugin support. We’re here when you need it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>One-click updates:\u003C\u002Fstrong> Enjoy the simple, one-click updates that you’re used to with WordPress plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpenhanced.com\u002Fproducts\u002Ffree-downloads-woocommerce\u002F\" rel=\"nofollow ugc\">Get it here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>How it works\u003C\u002Fh3>\n\u003Cp>By default any downloadable products that are free will be affected by this plugin. There is an option in the plugin settings if you would like to include paid items that are on sale for free, by default they aren’t.\u003C\u002Fp>\n\u003Cp>However, the plugin works right out of the box as it should, and only requires customising if you want to.\u003C\u002Fp>\n\u003Cp>Rather than the \u003Cem>Add to Cart\u003C\u002Fem> button showing on product pages, site visitors will be presented with a download button, or for multiple files on a single product a set of links to each individual file will show. You can customise the experience for your visitors with several display options from links, to buttons, and even checkboxes. Once clicked the file will be securely downloaded automatically. For multiple files, the plugin dynamically creates a zip file that includes all the files for that product, and downloads that instead.\u003C\u002Fp>\n\u003Ch3>Customisation\u003C\u002Fh3>\n\u003Cp>The plugin can be customised in several ways including how the download buttons or links are presented, their appearance, should users be logged in, and more. Check out the plugin settings page for everything.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Full supporting documentation is included with the plugin, available on the plugin settings page. There’s a user guide, explanation of every setting, and FAQ with support forum links.\u003C\u002Fp>\n","Allow users to instantly download your free digital products without going through the checkout.",4000,232696,94,84,"2026-02-27T20:51:00.000Z","6.8.5","4.4","7.4.0",[20,21,22,23,24],"downloadable","downloads","free-downloads","no-checkout","woocommerce","https:\u002F\u002Fwpenhanced.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdownload-now-for-woocommerce.3.6.4.zip",100,1,0,"2024-03-13 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2024-27969","free-downloads-woocommerce-authenticated-contributor-stored-cross-site-scripting","Free Downloads WooCommerce \u003C= 3.5.8.2 - Authenticated (Contributor+) Stored Cross-Site Scripting","The Free Downloads WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 3.5.8.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.",null,"\u003C=3.5.8.2","3.5.8.3","medium",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-03-20 19:25:20",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F1793922f-c03a-4b66-a2e0-5729f0d4c4d2?source=api-prod",8,{"slug":50,"display_name":7,"profile_url":8,"plugin_count":51,"total_installs":52,"avg_security_score":27,"avg_patch_time_days":48,"trust_score":13,"computed_at":53},"wpenhanced",2,14000,"2026-04-04T04:32:00.247Z",[55,75,92,111,132],{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":27,"num_ratings":51,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":72,"download_link":73,"security_score":74,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"disable-downloadable-repeat-purchase","Disable Downloadable Repeat Purchase – WooCommerce + WPML","2.0.0","pwallner","https:\u002F\u002Fprofiles.wordpress.org\u002Fpwallner\u002F","\u003Cp>This WooCommerce plugin prevents a user from being able to purchase a downloadable product that they already own. In place of the “Add to Basket” button on the product page, a message will display informing the user they already own the item, and links to download the linked files are provided there. Those links are the special links to the file that are provided on the “My Downloads” page, or part of the “My Account” page.\u003C\u002Fp>\n\u003Cp>If the user has had a refund for the item the normal “Add to Basket” button will show again, allowing purchase.\u003C\u002Fp>\n\u003Cp>On any page that displays the products other than the single product page, the button shows as “Read More”, as though the product is not available.\u003C\u002Fp>\n\u003Cp>The plugin is very fast, works together with WPML and can show the output in any language!\u003C\u002Fp>\n\u003Cp>Now it also works with WooCommerce Subscriptions!\u003C\u002Fp>\n","For WooCommerce. Disable the ability for logged in users to purchase items they already own that are downloadable.",40,3147,"2018-11-15T00:09:00.000Z","5.0.25","4.9","",[70,20,21,71,24],"disable","subscriptions","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-downloadable-repeat-purchase\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-downloadable-repeat-purchase.2.0.0.zip",85,{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":62,"active_installs":82,"downloaded":83,"rating":84,"num_ratings":28,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":68,"tags":88,"homepage":68,"download_link":91,"security_score":74,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"disable-downloadable-repeat-purchase-woocommerce","Disable Downloadable Repeat Purchase – WooCommerce","1.0","Richard Webster","https:\u002F\u002Fprofiles.wordpress.org\u002Frwebster85\u002F","\u003Cp>This WooCommerce plugin prevents a user from being able to purchase a downloadable product that they already own, as long as they are eligable to download that product. In place of the “Add to Basket” button on the product page, a message will display informing the user they already own the item, and links to download the linked files are provided there. Those links are the special links to the file that are provided on the “My Downloads” page, or part of the “My Account” page.\u003C\u002Fp>\n\u003Cp>If the user has had a refund for the item, or if they have used up all of their allowed download (when product has a limited number of downloads) then the normal “Add to Basket” button will show again, allowing purchase.\u003C\u002Fp>\n\u003Cp>On any page that displays the products other than the single product page, the button shows as “Read More”, as though the product is not available.\u003C\u002Fp>\n",10,2226,80,"2016-09-28T20:28:00.000Z","4.5.33","3.7",[20,21,89,24,90],"repeat-purchase","wordpress-org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-downloadable-repeat-purchase-woocommerce.zip",{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":29,"downloaded":100,"rating":29,"num_ratings":29,"last_updated":101,"tested_up_to":102,"requires_at_least":103,"requires_php":104,"tags":105,"homepage":68,"download_link":110,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"storage-for-woo-via-dropbox","Storage for Woo via Dropbox","1.1.0","mohammadr3z","https:\u002F\u002Fprofiles.wordpress.org\u002Fmohammadr3z\u002F","\u003Cp>Storage for WooCommerce via Dropbox is a powerful extension for WooCommerce that allows you to store and deliver your digital products using Dropbox cloud storage. This plugin provides seamless integration with Dropbox’s API, featuring OAuth2 authentication and secure temporary download links.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dropbox Integration\u003C\u002Fstrong>: Store your digital products securely in Dropbox\u003C\u002Fli>\n\u003Cli>\u003Cstrong>OAuth2 Authentication\u003C\u002Fstrong>: Secure and easy connection to your Dropbox account\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Temporary Download Links\u003C\u002Fstrong>: Generates secure 4-hour temporary links for downloads\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy File Management\u003C\u002Fstrong>: Upload files directly to Dropbox through WordPress admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media Library Integration\u003C\u002Fstrong>: Browse and select files from your Dropbox within WordPress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Folder Support\u003C\u002Fstrong>: Navigate and organize files in folders\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Security First\u003C\u002Fstrong>: Built with WordPress security best practices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong>: Clean, well-documented code with hooks and filters\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Create a Dropbox App at \u003Ca href=\"https:\u002F\u002Fwww.dropbox.com\u002Fdevelopers\u002Fapps\" rel=\"nofollow ugc\">Dropbox Developer Console\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Set OAuth Redirect URI to: \u003Ccode>https:\u002F\u002Fyour-site.com\u002Fwcdbx-oauth-callback\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Go to WooCommerce > Settings > Dropbox Storage\u003C\u002Fli>\n\u003Cli>Enter your App Key and App Secret\u003C\u002Fli>\n\u003Cli>Save settings and click “Connect to Dropbox”\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>Browsing and Selecting Files\u003C\u002Fh4>\n\u003Col>\n\u003Cli>When creating or editing a downloadable product in WooCommerce\u003C\u002Fli>\n\u003Cli>Click “Browse Dropbox” button next to the file URL field\u003C\u002Fli>\n\u003Cli>Browse your Dropbox storage using the folder navigation\u003C\u002Fli>\n\u003Cli>Use the breadcrumb navigation bar to quickly jump to parent folders\u003C\u002Fli>\n\u003Cli>Use the search box in the header to filter files by name\u003C\u002Fli>\n\u003Cli>Click “Select File” to use an existing file for your download\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Uploading New Files\u003C\u002Fh4>\n\u003Col>\n\u003Cli>In the Dropbox browser, click the “Upload File” button in the header row\u003C\u002Fli>\n\u003Cli>The upload form will appear above the file list\u003C\u002Fli>\n\u003Cli>Choose your file and click “Upload”\u003C\u002Fli>\n\u003Cli>After a successful upload, the file URL will be automatically set with the Dropbox prefix\u003C\u002Fli>\n\u003Cli>Click the button again to hide the upload form\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to Dropbox API to manage files, create download links, and handle authentication.\u003C\u002Fp>\n\u003Cp>It sends the necessary authentication tokens and file requests to Dropbox servers. This happens when you browse your Dropbox files in the dashboard, upload files, or when a customer downloads a file.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service\u003C\u002Fstrong>: Dropbox API\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Used for\u003C\u002Fstrong>: Authentication, file browsing, uploading, and generating download links.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data sent\u003C\u002Fstrong>: OAuth tokens, file metadata, file content (during upload).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>URLs\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>\u003Ccode>https:\u002F\u002Fapi.dropboxapi.com\u003C\u002Fcode> (API calls)\u003C\u002Fli>\n\u003Cli>\u003Ccode>https:\u002F\u002Fcontent.dropboxapi.com\u003C\u002Fcode> (File transfers)\u003C\u002Fli>\n\u003Cli>\u003Ccode>https:\u002F\u002Fwww.dropbox.com\u003C\u002Fcode> (Authentication)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Legal\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fwww.dropbox.com\u002Fterms\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.dropbox.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support and bug reports, please use the WordPress.org plugin support forum.\u003C\u002Fp>\n\u003Cp>If you find this plugin helpful, please consider leaving a review on WordPress.org.\u003C\u002Fp>\n\u003Ch3>Other Storage Providers\u003C\u002Fh3>\n\u003Cp>Looking for a different storage provider? Check out our other plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fstorage-for-woo-via-s3-compatible\u002F\" rel=\"ugc\">Storage for WooCommerce via S3-Compatible\u003C\u002Fa> – Use S3-compatible services like MinIO, DigitalOcean Spaces, Linode, Wasabi, and more\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>This plugin requires authorization to access your Dropbox account for file storage and retrieval. It does not collect or store any personal data beyond the OAuth tokens needed to maintain the connection. All file storage and delivery is handled through Dropbox’s secure infrastructure.\u003C\u002Fp>\n","Enable secure cloud storage and delivery of your WooCommerce digital products through Dropbox.",150,"2026-02-24T10:02:00.000Z","6.9.4","5.8","7.4",[106,107,108,109,24],"cloud-storage","digital-downloads","downloadable-products","dropbox","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstorage-for-woo-via-dropbox.1.1.0.zip",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":119,"downloaded":120,"rating":121,"num_ratings":122,"last_updated":123,"tested_up_to":102,"requires_at_least":124,"requires_php":68,"tags":125,"homepage":130,"download_link":131,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"wp-sheet-editor-bulk-spreadsheet-editor-for-posts-and-pages","Bulk Edit Posts and Products in Spreadsheet","2.26.1","Jose Vega","https:\u002F\u002Fprofiles.wordpress.org\u002Fjosevega\u002F","\u003Cp>A Spreadsheet created specially for WordPress. Edit posts in bulk using Spreadsheet.\u003C\u002Fp>\n\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\u002FQW5zRv9dwDY?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>\n\u003Ch3>It works with Gutenberg (new editor) and the Classic Editor\u003C\u002Fh3>\n\u003Cp>You can edit the post content using the Gutenberg editor right on the spreadsheet.\u003Cbr \u002F>\nIt also works with the Classic Editor.\u003C\u002Fp>\n\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\u002FB9OubW8D4wk?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>\n\u003Ch4>Awesome things that you can do with WP Sheet Editor\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>View all your posts, pages, and woocommerce products in a spreadsheet\u003C\u002Fli>\n\u003Cli>Edit posts in Spreadsheet (all core fields)\u003C\u002Fli>\n\u003Cli>Edit pages in Spreadsheet (all core fields)\u003C\u002Fli>\n\u003Cli>Create a lot of posts \u002F products at once\u003C\u002Fli>\n\u003Cli>Copy information between posts\u003C\u002Fli>\n\u003Cli>Edit WooCommerce Products (Free version limited to title, status, regular price, sale price).\u003C\u002Fli>\n\u003Cli>And more…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WP Sheet Editor is perfect for you if…\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You are tired of opening several pages to edit your posts\u003C\u002Fli>\n\u003Cli>You are tired of wasting time waiting for each post editor to load and save\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Spreadsheet where you can edit all the information of your posts, pages, and woocommerce products including post title, post content, post status, post excerpt, featured image, publish date, comment status, page parent, post categories, and post tags.\u003C\u002Fli>\n\u003Cli>You can navigate in the spreadsheet with your keyboard\u003C\u002Fli>\n\u003Cli>You can order the spreadsheet by any column.\u003C\u002Fli>\n\u003Cli>You can edit hundreds of posts without reloading the page\u003C\u002Fli>\n\u003Cli>It works on shared hosting (you can adjust the server consumption on the options page)\u003C\u002Fli>\n\u003Cli>Developers can add custom columns to the spreadsheet using actions and filters.\u003C\u002Fli>\n\u003Cli>WPBakery Page Builder integration. Open the live or backend editor right on the spreadsheet.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>WooCommerce Spreadsheet:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Edit woocommerce products using the spreadsheet.\u003Cbr \u002F>\nIt works well with Variable Products, Attributes, Downloadable Products, and Variations.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpsheeteditor.com\u002Fgo\u002Fwoocommerce-addon?utm_source=wp.org&utm_medium=web&utm_campaign=posts-lite-buy\" rel=\"nofollow ugc\">Buy WooCommerce Spreadsheet Plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Cstrong>Money back guarantee. We´ll give you a refund if the plugin doesn´t work.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Edit all product fields, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>sale price\u003C\u002Fli>\n\u003Cli>regular price\u003C\u002Fli>\n\u003Cli>gallery\u003C\u002Fli>\n\u003Cli>short description\u003C\u002Fli>\n\u003Cli>stock status\u003C\u002Fli>\n\u003Cli>stock quantity\u003C\u002Fli>\n\u003Cli>featured image\u003C\u002Fli>\n\u003Cli>visibility\u003C\u002Fli>\n\u003Cli>is virtual\u003C\u002Fli>\n\u003Cli>is downloadable\u003C\u002Fli>\n\u003Cli>attributes\u003C\u002Fli>\n\u003Cli>categories\u003C\u002Fli>\n\u003Cli>tags\u003C\u002Fli>\n\u003Cli>sale price dates\u003C\u002Fli>\n\u003Cli>purchase notes\u003C\u002Fli>\n\u003Cli>enable reviews\u003C\u002Fli>\n\u003Cli>Shipping class\u003C\u002Fli>\n\u003Cli>Custom fields\u003C\u002Fli>\n\u003Cli>And more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpsheeteditor.com\u002Fgo\u002Fwoocommerce-addon?utm_source=wp.org&utm_medium=web&utm_campaign=posts-lite-buy\" rel=\"nofollow ugc\">Buy WooCommerce Spreadsheet Plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Cstrong>Money back guarantee. We´ll give you a refund if the plugin doesn´t work.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Replace formula:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Apply changes to ALL YOUR POSTS AT ONCE with just a few clicks.\u003C\u002Fp>\n\u003Cp>You can do a lot of things, like:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Replace words or phrases\u003C\u002Fli>\n\u003Cli>Add a message at the end\u002Fbeginning of your posts\u003C\u002Fli>\n\u003Cli>Change posts status\u003C\u002Fli>\n\u003Cli>Add a message above or below all the images.\u003C\u002Fli>\n\u003Cli>Add shortcodes at the beginning or ending of all the posts in a specific category\u003C\u002Fli>\n\u003Cli>Change all references to old prices in your posts\u003C\u002Fli>\n\u003Cli>Change all links in your posts\u003C\u002Fli>\n\u003Cli>Mark all products in a specific category as “out of stock”\u003C\u002Fli>\n\u003Cli>Add a category to ALL THE POSTS in a specific category\u003C\u002Fli>\n\u003Cli>Change post status from draft to publish, or any other\u003C\u002Fli>\n\u003Cli>Set the same featured image in ALL the posts in specific category.\u003C\u002Fli>\n\u003Cli>Replace an existing value with the current date\u003C\u002Fli>\n\u003Cli>Etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpsheeteditor.com\u002Fbuy?utm_source=wp.org&utm_medium=web&utm_campaign=posts-lite-buy\" rel=\"nofollow ugc\">Buy Premium Version\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Math formula:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For example:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Increase \u002F decrease products prices by a 10% \u003C\u002Fli>\n\u003Cli>Increase \u002F decrease your products stock in a specific product category\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Advanced Custom Fields integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Edit your metaboxes in the spreadsheet.\u003C\u002Fp>\n\u003Cp>Add custom columns to the spreadsheet and edit other plugin´s fields.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpsheeteditor.com\u002Fbuy?utm_source=wp.org&utm_medium=web&utm_campaign=posts-lite-buy\" rel=\"nofollow ugc\">Buy Premium Version\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Copy information between posts in bulk\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Do you need to set the same categories to 20 posts? Instead of adding every category manually, just drag one cell and paste it into the 20 cells below. Yes, it´s that easy.\u003C\u002Fp>\n\u003Cp>You can copy titles, excerpts, post dates, categories, tags, etc.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>You can enable \u002F disable columns on the spreadsheet.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>You can rename columns on the spreadsheet\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Edit custom post types\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can enable the spreadsheet on ANY custom post type.\u003C\u002Fp>\n\u003Cp>For example, you can edit the descriptions or captions of your images (media attachments) to improve your SEO.\u003C\u002Fp>\n\u003Cp>If you theme added a “Portfolio” post type, you can edit the items too.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpsheeteditor.com\u002Fbuy?utm_source=wp.org&utm_medium=web&utm_campaign=posts-lite-buy\" rel=\"nofollow ugc\">Buy Premium Version\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Spanish \u002F Español\u003C\u002Fh4>\n\u003Cp>Este plugin te permite editar entradas, artículo, y páginas usando una hoja de cálculo dentro de WP admin.\u003Cbr \u002F>\nTú puedes ver todos los posts y páginas en la hoja de cálculo y rápidamente editar los campos de WordPress.\u003C\u002Fp>\n\u003Cp>La versión gratuita te permite:\u003Cbr \u002F>\n– Ver todos los artículos, entradas, o páginas en la hoja de cálculo\u003Cbr \u002F>\n– Crear y editar artículos, entradas, o páginas rápidamente\u003Cbr \u002F>\n– Puedes buscar artículos por palabra clave, fecha, o autor\u003Cbr \u002F>\n– Puedes copiar información de un artículo a otro\u003Cbr \u002F>\n– Funciona con el nuevo editor de WordPress (Gutenberg)\u003Cbr \u002F>\n– Puedes editar estos campos: título del post, contenido, estado, fragmento, imágen destacada, fecha de publicación, habilitar comentarios, página padre, categorías, y etiquetas.\u003Cbr \u002F>\n– Editar precios de productos rápidamente usando la hoja de cálculo\u003C\u002Fp>\n\u003Cp>La versión de pago te permite:\u003Cbr \u002F>\n– Editar todos los tipos de posts: posts, páginas, productos de WooCommerce, eventos, portafolios, etc.\u003Cbr \u002F>\n– Exportar e importar posts, páginas, productos para editar en excel o Google Sheets\u003Cbr \u002F>\n– Editar todos los campos, el editor mostrará todos los campos del tipo de post. Ej. si son productos = todos los precios, inventario, galerías, etc.\u003Cbr \u002F>\n– Hacer búsquedas avanzadas por cualquier combinación de campos (ej. buscar por precio, organizadores, información seo, etc.)\u003Cbr \u002F>\n– Editar miles de artículos a la vez en un segundo (ej. eliminar cientos de artículos, reemplazar textos, establecer precios en lotes, actualizar fotos, etc.)\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpsheeteditor.com\u002Fbuy?utm_source=wp.org&utm_medium=web&utm_campaign=posts-lite-buy\" rel=\"nofollow ugc\">Descarga versión de pago\u003C\u002Fa>\u003Cbr \u002F>\n\u003Cstrong>Garantía de devolución de dinero si no te funciona el plugin.\u003C\u002Fstrong>\u003C\u002Fp>\n","Modern Bulk Editor for Posts and Pages, create and edit hundreds of posts at once in a spreadsheet inside wp-admin. Search and quick edits.",9000,302948,96,211,"2026-01-17T02:45:00.000Z","4.7",[126,127,128,129,24],"bulk-edit","easy-digital-downloads","events","spreadsheet","https:\u002F\u002Fwpsheeteditor.com\u002Fextensions\u002Fposts-pages-post-types-spreadsheet\u002F?utm_source=wp-admin&utm_medium=plugins-list&utm_campaign=posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-sheet-editor-bulk-spreadsheet-editor-for-posts-and-pages.2.26.1.zip",{"slug":133,"name":134,"version":135,"author":136,"author_profile":137,"description":138,"short_description":139,"active_installs":140,"downloaded":141,"rating":142,"num_ratings":51,"last_updated":143,"tested_up_to":16,"requires_at_least":144,"requires_php":104,"tags":145,"homepage":149,"download_link":150,"security_score":27,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"affiliatewp-affiliate-product-rates","AffiliateWP – Affiliate Product Rates","1.2.1","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cblockquote>\n\u003Cp>This plugin requires \u003Ca href=\"http:\u002F\u002Faffiliatewp.com\u002F\" title=\"AffiliateWP\" rel=\"nofollow ugc\">AffiliateWP\u003C\u002Fa> v1.5.2+ in order to function.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>At its most basic level AffiliateWP allows you to set a global referral rate which all affiliates share. For integrations that support per-product referral rates, affiliates can earn different commissions based on which product\u002Fs are purchased. AffiliateWP also allows you to set referral rates on a per-affiliate level which will override any per-product referral rate.\u003C\u002Fp>\n\u003Cp>Affiliate Product Rates expands this even further, allowing different per-product referral rates on a per-affiliate level.\u003C\u002Fp>\n\u003Cp>Here are some examples of how you might use this plugin:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Give Affiliate X 10% commission for Product A, 80% commission for Product B, and a flat rate of $50 for Product C.\u003C\u002Fli>\n\u003Cli>Give Affiliate Y 50% commission for Product A, but a lower commission than Affiliate X for Products B and C.\u003C\u002Fli>\n\u003Cli>Give Affiliate Z a flat-rate of $10 commission for Product A, 65% commission for Product B and 22% commission for Product C.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The possibilities are endless! You can also set per-product referral rates per-affiliate per-integration! (for those that happen to be running both integrations listed below).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Currently Supported Integrations\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Easy Digital Downloads\u003C\u002Fli>\n\u003Cli>WooCommerce\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Known Issues\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The add-on doesn’t yet prevent a product from existing in more than 1 product rate. Be careful you don’t accidentally add a product to more than location or one rate will be ignored.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What is AffiliateWP?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Faffiliatewp.com\u002F\" title=\"AffiliateWP\" rel=\"nofollow ugc\">AffiliateWP\u003C\u002Fa> provides a complete affiliate management system for your WordPress website that seamlessly integrates with all major WordPress e-commerce and membership platforms. It aims to provide everything you need in a simple, clean, easy to use system that you will love to use.\u003C\u002Fp>\n","Allows you to set product referral rates on a per-affiliate level in AffiliateWP.",2000,34540,60,"2025-05-08T19:15:00.000Z","5.2",[146,127,147,148,24],"affiliatewp","per-product","product-rates","https:\u002F\u002Faffiliatewp.com\u002Faddons\u002Faffiliate-product-rates\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faffiliatewp-affiliate-product-rates.1.2.1.zip",{"attackSurface":152,"codeSignals":900,"taintFlows":1215,"riskAssessment":1250,"analyzedAt":1263},{"hooks":153,"ajaxHandlers":793,"restRoutes":800,"shortcodes":886,"cronEvents":898,"entryPointCount":574,"unprotectedCount":319},[154,160,164,168,172,178,184,187,191,194,199,204,208,212,216,220,223,227,231,235,240,244,248,252,256,260,264,268,272,276,281,286,288,292,296,300,305,310,313,317,322,326,330,333,336,340,343,345,348,352,354,356,357,358,360,363,365,368,371,375,377,381,384,387,390,394,397,400,403,406,409,413,416,419,422,425,428,431,434,439,442,445,448,452,456,459,463,466,469,472,475,478,481,484,487,490,493,496,499,502,505,508,511,514,517,520,525,529,533,537,541,545,549,552,556,560,564,567,571,575,579,583,587,591,594,598,602,606,609,614,616,620,623,626,629,633,637,641,645,649,653,656,659,662,666,670,674,678,681,685,688,691,695,698,701,704,707,710,712,715,718,722,725,728,731,735,738,741,744,747,750,754,758,762,765,768,772,776,780,782,785,789],{"type":155,"name":156,"callback":157,"priority":82,"file":158,"line":159},"action","somdn_download_button","somdn_get_download_button","includes\\Legacy\\somdn-download-page.php",14,{"type":155,"name":161,"callback":162,"priority":82,"file":158,"line":163},"somdn_single_download_link","somdn_get_single_download_link",15,{"type":155,"name":165,"callback":166,"priority":82,"file":158,"line":167},"somdn_multi_download_link","somdn_get_multi_download_link",16,{"type":155,"name":169,"callback":170,"file":158,"line":171},"somdn_archive_product_page","somdn_product_page",17,{"type":155,"name":173,"callback":174,"priority":175,"file":176,"line":177},"wp_loaded","somdn_downloader_init",999,"includes\\Legacy\\somdn-downloader.php",28,{"type":155,"name":179,"callback":180,"priority":181,"file":182,"line":183},"somdn_on_activate","somdn_on_activate_file_cron",20,"includes\\Legacy\\somdn-file-functions.php",53,{"type":155,"name":185,"callback":180,"priority":181,"file":182,"line":186},"admin_init",54,{"type":155,"name":188,"callback":189,"priority":181,"file":182,"line":190},"somdn_on_deactivate","somdn_on_deactivate_file_cron",64,{"type":155,"name":192,"callback":193,"file":182,"line":74},"somdn_delete_download_files_event","somdn_delete_download_files",{"type":195,"name":196,"callback":197,"priority":163,"file":182,"line":198},"filter","somdn_get_selected_product_files","somdn_get_selected_product_files_standard",147,{"type":195,"name":200,"callback":201,"priority":202,"file":182,"line":203},"somdn_download_path","somdn_download_path_external_file",25,274,{"type":155,"name":205,"callback":206,"file":207,"line":159},"init","somdn_load_plugin_textdomain","includes\\Legacy\\somdn-functions.php",{"type":155,"name":209,"callback":210,"file":207,"line":211},"admin_enqueue_scripts","somdn_get_script_assets",38,{"type":155,"name":213,"callback":214,"file":207,"line":215},"wp_enqueue_scripts","somdn_load_scripts",59,{"type":155,"name":217,"callback":218,"priority":82,"file":207,"line":219},"somdn_frontend_scripts_enqueued","somdn_frontend_custom_css",72,{"type":155,"name":205,"callback":221,"priority":82,"file":207,"line":222},"somdn_load_product_page",91,{"type":155,"name":224,"callback":225,"file":207,"line":226},"somdn_count_download","somdn_count_download_meta",102,{"type":195,"name":228,"callback":229,"priority":82,"file":207,"line":230},"somdn_is_product_valid","somdn_is_product_valid_basic",203,{"type":195,"name":232,"callback":233,"priority":82,"file":207,"line":234},"somdn_is_download_valid","somdn_is_download_valid_basic",282,{"type":195,"name":236,"callback":237,"priority":238,"file":207,"line":239},"somdn_is_product_included","somdn_is_product_included_individual",50,303,{"type":195,"name":241,"callback":242,"priority":82,"file":207,"line":243},"somdn_is_free","somdn_is_product_free_for_user",393,{"type":155,"name":245,"callback":246,"file":207,"line":247},"wp_footer","somdn_always_open_free_downloads_in_new_window",464,{"type":195,"name":249,"callback":250,"priority":82,"file":207,"line":251},"somdn_is_login_check_valid","somdn_is_login_check_valid_logged_in",487,{"type":155,"name":253,"callback":254,"file":207,"line":255},"somdn_login_check_failed_message","somdn_login_check_failed_message_default",496,{"type":155,"name":257,"callback":258,"priority":238,"file":207,"line":259},"somdn_before_form_inputs_simple","somdn_output_timestamp_form",625,{"type":155,"name":261,"callback":262,"priority":238,"file":207,"line":263},"somdn_single_errors","somdn_single_errors_output",792,{"type":155,"name":265,"callback":266,"file":207,"line":267},"somdn_before_simple_wrap","somdn_output_download_count_output_above",840,{"type":155,"name":269,"callback":270,"file":207,"line":271},"somdn_after_simple_wrap","somdn_output_download_count_output_below",841,{"type":155,"name":273,"callback":274,"file":207,"line":275},"somdn_get_forum_link","somdn_get_forum_link_basic",901,{"type":155,"name":277,"callback":278,"file":279,"line":280},"save_post","somdn_save_meta_product_meta","includes\\Legacy\\somdn-meta.php",87,{"type":155,"name":282,"callback":283,"priority":82,"file":284,"line":285},"somdn_settings_bottom","somdn_get_settings_bottom_content","includes\\Legacy\\somdn-plugin-settings.php",12,{"type":155,"name":185,"callback":287,"file":284,"line":159},"somdn_settings_init",{"type":155,"name":289,"callback":290,"file":284,"line":291},"admin_footer","somdn_settings_footer",1365,{"type":155,"name":293,"callback":294,"file":284,"line":295},"after_setup_theme","somdn_after_setup_plugin",1596,{"type":195,"name":297,"callback":298,"priority":82,"file":284,"line":299},"plugin_row_meta","somdn_plugin_row_meta",1609,{"type":155,"name":301,"callback":302,"file":303,"line":304},"admin_notices","output","includes\\Notices\\WordPressNotice.php",34,{"type":155,"name":306,"callback":307,"file":308,"line":309},"plugins_loaded","onPluginsLoaded","includes\\Plugin.php",81,{"type":155,"name":205,"callback":311,"file":308,"line":312},"closure",123,{"type":155,"name":314,"callback":315,"file":316,"line":167},"rest_api_init","de_register_error_logs_routes","includes\\settings\\common\\rest-endpoints\\class-error-logs-endpoint.php",{"type":155,"name":185,"callback":318,"priority":319,"file":320,"line":321},"fire_registration_hook",5,"includes\\settings\\organization\\divi-engine\\class-common-settings.php",125,{"type":155,"name":323,"callback":324,"file":320,"line":325},"admin_menu","add_settings_page",128,{"type":155,"name":323,"callback":327,"priority":328,"file":320,"line":329},"rename_first_submenu_to_dashboard",99,129,{"type":155,"name":185,"callback":331,"file":320,"line":332},"register_settings",130,{"type":155,"name":209,"callback":334,"priority":163,"file":320,"line":335},"enqueue_scripts",133,{"type":155,"name":337,"callback":338,"file":320,"line":339},"admin_head","admin_head_style",135,{"type":155,"name":314,"callback":341,"file":342,"line":48},"register_endpoints","includes\\settings\\organization\\divi-engine\\rest-endpoints\\class-license-rest-endpoint.php",{"type":155,"name":314,"callback":341,"file":344,"line":48},"includes\\settings\\organization\\divi-engine\\rest-endpoints\\class-rest-endpoint.php",{"type":155,"name":314,"callback":311,"file":346,"line":347},"includes\\settings\\organization\\divi-engine\\rest-endpoints\\class-settings-endpoint.php",3,{"type":155,"name":306,"callback":349,"priority":319,"file":350,"line":351},"register_framework_version","includes\\settings\\organization\\wp-enhanced\\class-common-settings.php",114,{"type":155,"name":306,"callback":318,"priority":82,"file":350,"line":353},117,{"type":155,"name":323,"callback":323,"file":350,"line":355},120,{"type":155,"name":209,"callback":209,"priority":163,"file":350,"line":312},{"type":155,"name":337,"callback":338,"file":350,"line":321},{"type":155,"name":314,"callback":341,"file":359,"line":48},"includes\\settings\\organization\\wp-enhanced\\rest-endpoints\\class-license-rest-endpoint.php",{"type":155,"name":314,"callback":341,"file":361,"line":362},"includes\\settings\\organization\\wp-enhanced\\rest-endpoints\\class-rest-endpoint.php",29,{"type":155,"name":314,"callback":311,"file":364,"line":347},"includes\\settings\\organization\\wp-enhanced\\rest-endpoints\\class-settings-endpoint.php",{"type":155,"name":314,"callback":341,"file":366,"line":367},"includes\\settings\\specific\\class-config-check-endpoint.php",18,{"type":155,"name":314,"callback":341,"file":369,"line":370},"includes\\settings\\specific\\class-integration-test-endpoint.php",58,{"type":155,"name":314,"callback":372,"file":373,"line":374},"register_routes","includes\\settings\\specific\\rest-endpoints\\class-addon-license-endpoint.php",22,{"type":155,"name":314,"callback":372,"file":376,"line":362},"includes\\settings\\specific\\rest-endpoints\\class-stats-endpoint.php",{"type":155,"name":378,"callback":379,"file":376,"line":380},"admin_post_somdn_stats_export","handle_export_download",30,{"type":195,"name":382,"callback":311,"priority":82,"file":383,"line":48},"wpe_settings_sanitize_free-downloads-debug","includes\\settings\\specific\\sanitizers\\debug-sanitizer.php",{"type":195,"name":385,"callback":311,"priority":82,"file":386,"line":48},"wpe_settings_sanitize_free-downloads-download-type","includes\\settings\\specific\\sanitizers\\download-type-sanitizer.php",{"type":195,"name":388,"callback":311,"priority":82,"file":389,"line":48},"wpe_settings_sanitize_free-downloads-emails","includes\\settings\\specific\\sanitizers\\emails-sanitizer.php",{"type":195,"name":391,"callback":311,"priority":82,"file":392,"line":393},"wpe_settings_sanitize_free-downloads-gen","includes\\settings\\specific\\sanitizers\\general-sanitizer.php",6,{"type":195,"name":395,"callback":311,"priority":82,"file":396,"line":48},"wpe_settings_sanitize_free-downloads-include-cats","includes\\settings\\specific\\sanitizers\\include-cats-sanitizer.php",{"type":195,"name":398,"callback":311,"priority":82,"file":399,"line":48},"wpe_settings_sanitize_free-downloads-include-products","includes\\settings\\specific\\sanitizers\\include-products-sanitizer.php",{"type":195,"name":401,"callback":311,"priority":82,"file":402,"line":48},"wpe_settings_sanitize_free-downloads-include-tags","includes\\settings\\specific\\sanitizers\\include-tags-sanitizer.php",{"type":195,"name":404,"callback":311,"priority":82,"file":405,"line":48},"wpe_settings_sanitize_free-downloads-limits","includes\\settings\\specific\\sanitizers\\limits-sanitizer.php",{"type":195,"name":407,"callback":311,"priority":82,"file":408,"line":48},"wpe_settings_sanitize_free-downloads-mailchimp","includes\\settings\\specific\\sanitizers\\mailchimp-sanitizer.php",{"type":195,"name":410,"callback":311,"priority":82,"file":411,"line":412},"wpe_settings_sanitize_free-downloads-membership-limits","includes\\settings\\specific\\sanitizers\\membership-limits-sanitizer.php",9,{"type":195,"name":414,"callback":311,"priority":82,"file":415,"line":48},"wpe_settings_sanitize_free-downloads-multi","includes\\settings\\specific\\sanitizers\\multiple-files-sanitizer.php",{"type":195,"name":417,"callback":311,"priority":82,"file":418,"line":48},"wpe_settings_sanitize_free-downloads-newsletter","includes\\settings\\specific\\sanitizers\\newsletter-sanitizer.php",{"type":195,"name":420,"callback":311,"priority":82,"file":421,"line":48},"wpe_settings_sanitize_free-downloads-owned","includes\\settings\\specific\\sanitizers\\owned-products-sanitizer.php",{"type":195,"name":423,"callback":311,"priority":82,"file":424,"line":48},"wpe_settings_sanitize_free-downloads-docviewer","includes\\settings\\specific\\sanitizers\\pdf-sanitizer.php",{"type":195,"name":426,"callback":311,"priority":82,"file":427,"line":48},"wpe_settings_sanitize_free-downloads-quickview","includes\\settings\\specific\\sanitizers\\quick-view-sanitizer.php",{"type":195,"name":429,"callback":311,"priority":82,"file":430,"line":393},"wpe_settings_sanitize_free-downloads-single","includes\\settings\\specific\\sanitizers\\single-files-sanitizer.php",{"type":195,"name":432,"callback":311,"priority":82,"file":433,"line":48},"wpe_settings_sanitize_free-downloads-tracking","includes\\settings\\specific\\sanitizers\\tracking-sanitizer.php",{"type":155,"name":435,"callback":436,"file":437,"line":438},"wpe_settings_register_plugin","somdn_register_settings_plugin","includes\\settings\\specific\\settings.php",39,{"type":155,"name":323,"callback":440,"priority":380,"file":437,"line":441},"somdn_add_submenu",68,{"type":195,"name":443,"callback":444,"priority":82,"file":437,"line":222},"wpe_typesense_configs","somdn_register_typesense_config",{"type":155,"name":337,"callback":446,"priority":319,"file":437,"line":447},"somdn_localize_pro_status_in_head",110,{"type":195,"name":449,"callback":450,"priority":82,"file":437,"line":451},"wp_enhanced_plugins","somdn_register_plugin_for_license",220,{"type":195,"name":453,"callback":454,"priority":82,"file":437,"line":455},"wp_enhanced_plugin_ids","somdn_register_plugin_id_for_license",246,{"type":155,"name":185,"callback":457,"priority":319,"file":437,"line":458},"somdn_migrate_license_to_wpe_format",276,{"type":155,"name":460,"callback":461,"priority":82,"file":437,"line":462},"update_option_wp_enhanced_licenses","somdn_sync_license_to_old_format",308,{"type":195,"name":464,"callback":311,"file":437,"line":465},"wpe_option_name_free-downloads-gen",334,{"type":195,"name":467,"callback":311,"file":437,"line":468},"wpe_option_name_free-downloads-single",338,{"type":195,"name":470,"callback":311,"file":437,"line":471},"wpe_option_name_free-downloads-multi",342,{"type":195,"name":473,"callback":311,"file":437,"line":474},"wpe_option_name_free-downloads-owned",346,{"type":195,"name":476,"callback":311,"file":437,"line":477},"wpe_option_name_free-downloads-docviewer",350,{"type":195,"name":479,"callback":311,"file":437,"line":480},"wpe_option_name_free-downloads-debug",354,{"type":195,"name":482,"callback":311,"file":437,"line":483},"wpe_option_name_free-downloads-quickview",358,{"type":195,"name":485,"callback":311,"file":437,"line":486},"wpe_option_name_free-downloads-limits",368,{"type":195,"name":488,"callback":311,"file":437,"line":489},"wpe_option_name_free-downloads-membership-limits",372,{"type":195,"name":491,"callback":311,"file":437,"line":492},"wpe_option_name_free-downloads-tracking",376,{"type":195,"name":494,"callback":311,"file":437,"line":495},"wpe_option_name_free-downloads-newsletter",380,{"type":195,"name":497,"callback":311,"file":437,"line":498},"wpe_option_name_free-downloads-mailchimp",384,{"type":195,"name":500,"callback":311,"file":437,"line":501},"wpe_option_name_free-downloads-download-type",388,{"type":195,"name":503,"callback":311,"file":437,"line":504},"wpe_option_name_free-downloads-include-products",392,{"type":195,"name":506,"callback":311,"file":437,"line":507},"wpe_option_name_free-downloads-include-cats",396,{"type":195,"name":509,"callback":311,"file":437,"line":510},"wpe_option_name_free-downloads-include-tags",400,{"type":195,"name":512,"callback":311,"file":437,"line":513},"wpe_option_name_free-downloads-emails",404,{"type":155,"name":301,"callback":311,"file":515,"line":516},"som-woocommerce-download-now.php",52,{"type":155,"name":518,"callback":311,"file":515,"line":519},"before_woocommerce_init",69,{"type":155,"name":521,"callback":522,"file":523,"line":524},"wp_head","somdn_purchasable_compat_head","woo-files\\somdn-woo-compatibility.php",463,{"type":155,"name":526,"callback":527,"file":523,"line":528},"somdn_ti_wishlist_header","somdn_ti_wishlist_header_output",511,{"type":155,"name":530,"callback":531,"file":523,"line":532},"somdn_hide_cart_style","somdn_hide_cart_style_output",527,{"type":195,"name":534,"callback":535,"priority":238,"file":523,"line":536},"wc_membership_plan_data_tabs","somdn_wc_membership_plan_data_tabs",537,{"type":155,"name":538,"callback":539,"file":523,"line":540},"wc_membership_plan_data_panels","somdn_wc_membership_plan_free_downloads_panel",548,{"type":155,"name":542,"callback":543,"priority":82,"file":523,"line":544},"wc_memberships_save_meta_box","somdn_memberships_save",582,{"type":155,"name":546,"callback":547,"priority":181,"file":523,"line":548},"somdn_settings_subtabs_after_multiple","somdn_settings_subtabs_memberships",597,{"type":155,"name":185,"callback":550,"file":523,"line":551},"somdn_settings_memberships",605,{"type":155,"name":553,"callback":554,"file":523,"line":555},"somdn_settings_page_content","somdn_settings_content_memberships",718,{"type":195,"name":557,"callback":558,"priority":181,"file":559,"line":374},"woocommerce_is_purchasable","somdn_prevent_purchase","woo-files\\somdn-woo-functions.php",{"type":155,"name":561,"callback":562,"file":559,"line":563},"nocache_headers","ie_nocache_headers_fix",226,{"type":155,"name":205,"callback":565,"priority":328,"file":559,"line":566},"somdn_remove_woo_add_to_cart_shortcode",534,{"type":155,"name":568,"callback":569,"file":570,"line":285},"add_meta_boxes","download_now_add_meta_box","woo-files\\somdn-woo-meta.php",{"type":195,"name":572,"callback":573,"file":570,"line":574},"manage_product_posts_columns","somdn_product_post_column",26,{"type":155,"name":576,"callback":577,"priority":82,"file":570,"line":578},"manage_posts_custom_column","somdn_product_columns_content",27,{"type":195,"name":580,"callback":581,"file":570,"line":582},"manage_edit-product_sortable_columns","somdn_product_sort_columns",43,{"type":155,"name":584,"callback":585,"file":570,"line":586},"pre_get_posts","somdn_product_sort_columns_query",49,{"type":155,"name":588,"callback":589,"priority":380,"file":590,"line":163},"woocommerce_after_shop_loop_item","somdn_quickview_link_basic","woo-files\\somdn-woo-quickview.php",{"type":155,"name":588,"callback":592,"priority":163,"file":590,"line":593},"somdn_quickview_modal_basic",44,{"type":155,"name":595,"callback":596,"file":590,"line":597},"jckqv-after-addtocart","somdn_jckqv_after_addtocart",300,{"type":195,"name":599,"callback":600,"file":601,"line":285},"somdn_get_settings_sub_tabs","somdn_get_settings_sub_tabs_support_woo_basic","woo-files\\somdn-woo-settings-support.php",{"type":155,"name":603,"callback":604,"file":601,"line":605},"somdn_settings_after_settings","somdn_settings_support_tab_woo_basic",42,{"type":155,"name":205,"callback":607,"priority":82,"file":601,"line":608},"somdn_logs_export_init",767,{"type":155,"name":610,"callback":611,"file":612,"line":613},"somdn_settings_tabs_after_settings","somdn_settings_tabs_woo_support","woo-files\\somdn-woo-settings.php",13,{"type":155,"name":610,"callback":615,"priority":380,"file":612,"line":367},"somdn_settings_tabs_woo_more",{"type":155,"name":617,"callback":618,"file":612,"line":619},"somdn_after_file_loader","somdn_load_woo_basic_support",23,{"type":155,"name":621,"callback":622,"file":612,"line":362},"somdn_settings_subtabs_after_owned","somdn_settings_subtabs_quickview",{"type":155,"name":553,"callback":624,"file":612,"line":625},"somdn_settings_quickview_settings",36,{"type":155,"name":323,"callback":627,"priority":628,"file":612,"line":593},"somdn_main_admin_menu",95,{"type":155,"name":630,"callback":631,"priority":82,"file":612,"line":632},"somdn_after_require_login_settings","somdn_woo_archive_setting",65,{"type":155,"name":634,"callback":635,"priority":82,"file":612,"line":636},"somdn_after_include_archive_items_settings","somdn_after_include_archive_items_settings_woo",83,{"type":155,"name":638,"callback":639,"priority":82,"file":612,"line":640},"somdn_after_docviewer_settings","somdn_woo_quickview_settings",149,{"type":195,"name":642,"callback":643,"file":612,"line":644},"somdn_plugin_review_link","somdn_plugin_review_link_woo_free",309,{"type":195,"name":646,"callback":647,"file":612,"line":648},"somdn_settings_header_title","somdn_settings_header_title_woo",314,{"type":195,"name":650,"callback":651,"file":612,"line":652},"somdn_get_settings_home","somdn_get_settings_home_woo",319,{"type":155,"name":603,"callback":654,"file":612,"line":655},"somdn_settings_more_settings",425,{"type":155,"name":610,"callback":657,"priority":142,"file":612,"line":658},"somdn_settings_tabs_pro_settings",432,{"type":155,"name":603,"callback":660,"priority":380,"file":612,"line":661},"somdn_settings_pro_settings",439,{"type":155,"name":663,"callback":664,"priority":82,"file":612,"line":665},"somdn_do_pro_settings_content","somdn_do_pro_settings_content_basic",446,{"type":155,"name":667,"callback":668,"priority":82,"file":612,"line":669},"somdn_support_after_logging","somdn_support_after_logging_basic",495,{"type":195,"name":671,"callback":672,"priority":82,"file":673,"line":367},"somdn_get_product","somdn_get_product_woo","woo-files\\somdn-woo.php",{"type":195,"name":675,"callback":676,"file":673,"line":677},"somdn_get_global_product","somdn_get_global_product_woo",19,{"type":195,"name":679,"callback":680,"priority":82,"file":673,"line":181},"somdn_get_product_id","somdn_get_product_id_woo",{"type":195,"name":682,"callback":683,"priority":82,"file":673,"line":684},"somdn_is_product","somdn_is_product_woo",21,{"type":195,"name":686,"callback":687,"file":673,"line":374},"somdn_is_single_product","somdn_is_single_product_woo",{"type":195,"name":689,"callback":690,"priority":82,"file":673,"line":619},"somdn_get_files","somdn_get_files_woo",{"type":195,"name":692,"callback":693,"priority":82,"file":673,"line":694},"somdn_get_price","somdn_get_price_woo",24,{"type":195,"name":696,"callback":697,"priority":82,"file":673,"line":202},"somdn_get_sale_price","somdn_get_sale_price_woo",{"type":195,"name":699,"callback":700,"priority":82,"file":673,"line":574},"somdn_is_product_valid_type","somdn_is_product_valid_type_woo_basic",{"type":195,"name":702,"callback":703,"file":673,"line":578},"woocommerce_product_add_to_cart_text","somdn_change_read_more",{"type":195,"name":705,"callback":706,"file":673,"line":177},"somdn_get_button_classes","somdn_get_button_classes_woo",{"type":195,"name":708,"callback":709,"file":673,"line":362},"somdn_get_button_archive_classes","somdn_get_button_archive_classes_woo",{"type":195,"name":157,"callback":711,"priority":82,"file":673,"line":380},"somdn_get_download_button_woo",{"type":195,"name":162,"callback":713,"priority":82,"file":673,"line":714},"somdn_get_single_download_link_woo",31,{"type":195,"name":166,"callback":716,"priority":82,"file":673,"line":717},"somdn_get_multi_download_link_woo",32,{"type":195,"name":719,"callback":720,"file":673,"line":721},"somdn_frontend_warning_class","somdn_frontend_warning_class_woo",33,{"type":195,"name":723,"callback":724,"file":673,"line":304},"somdn_frontend_error_class","somdn_frontend_error_class_woo",{"type":195,"name":241,"callback":726,"priority":74,"file":673,"line":727},"somdn_is_download_owned",35,{"type":195,"name":729,"callback":730,"priority":328,"file":673,"line":625},"woocommerce_product_get_sale_price","somdn_is_download_owned_price",{"type":195,"name":732,"callback":733,"priority":328,"file":673,"line":734},"woocommerce_get_price_html","somdn_download_owned_price_html",37,{"type":195,"name":736,"callback":737,"priority":82,"file":673,"line":211},"somdn_is_product_valid_quickview","somdn_is_product_valid_quickview_basic",{"type":195,"name":739,"callback":740,"file":673,"line":605},"woocommerce_catalog_orderby","somdn_add_download_count_sorting",{"type":195,"name":742,"callback":743,"file":673,"line":582},"woocommerce_get_catalog_ordering_args","somdn_apply_download_count_sorting",{"type":195,"name":745,"callback":746,"priority":82,"file":673,"line":586},"somdn_extra_archive_action","somdn_is_product_valid_wo_membership_basic",{"type":195,"name":748,"callback":749,"priority":82,"file":673,"line":238},"somdn_is_product_valid_compat","somdn_product_valid_compat_woo_basic",{"type":155,"name":751,"callback":752,"file":673,"line":753},"somdn_load_product_page_content","somdn_load_product_page_content_woo",55,{"type":155,"name":755,"callback":756,"priority":82,"file":673,"line":757},"somdn_do_download","somdn_woo_download",56,{"type":155,"name":759,"callback":760,"file":673,"line":761},"somdn_before_add_to_cart_form","somdn_before_add_to_cart_form_woo",57,{"type":155,"name":763,"callback":764,"file":673,"line":215},"somdn_after_add_to_cart_form","somdn_after_add_to_cart_form_woo",{"type":155,"name":766,"callback":767,"file":673,"line":142},"somdn_after_add_to_cart_button","somdn_after_add_to_cart_button_woo",{"type":155,"name":769,"callback":770,"priority":328,"file":673,"line":771},"woocommerce_sale_flash","somdn_download_owned_price_badge",61,{"type":155,"name":773,"callback":774,"priority":82,"file":673,"line":775},"somdn_before_quickview_title_wrap","woocommerce_show_product_sale_flash",62,{"type":155,"name":777,"callback":778,"priority":82,"file":673,"line":779},"somdn_do_default_download_type_simple","somdn_do_default_download_simple",63,{"type":155,"name":306,"callback":781,"file":673,"line":441},"somdn_woo_archive_import_include",{"type":155,"name":783,"callback":784,"file":673,"line":519},"somdn_default_woo_archive","somdn_do_default_woo_archive",{"type":155,"name":786,"callback":787,"priority":82,"file":673,"line":788},"somdn_shop_download_button","somdn_do_shop_download_button",70,{"type":155,"name":790,"callback":791,"priority":82,"file":673,"line":792},"somdn_shop_free_if_logged_in","somdn_shop_free_if_logged_in_button",71,[794],{"action":795,"nopriv":796,"callback":797,"hasNonce":798,"hasCapCheck":798,"file":350,"line":799},"wpe_settings_get_post_list",false,"ajax_get_post_list",true,127,[801,808,812,817,821,824,828,833,836,838,842,844,847,850,855,860,862,866,870,874,878,882],{"namespace":802,"route":803,"methods":804,"callback":806,"permissionCallback":807,"file":342,"line":181},"de\u002Fv1","\u002Fvalidate-license",[805],"POST","validate_license_key","check_admin_permission",{"namespace":802,"route":809,"methods":810,"callback":811,"permissionCallback":807,"file":342,"line":574},"\u002Fdeactivate-license",[805],"deactivate_license_key",{"namespace":802,"route":813,"methods":814,"callback":816,"permissionCallback":807,"file":342,"line":714},"\u002Fget-licenses",[815],"GET","get_missing_licenses",{"namespace":802,"route":818,"methods":819,"callback":311,"permissionCallback":820,"file":344,"line":613},"\u002Fproduct-categories",[815],"__return_true",{"namespace":802,"route":822,"methods":823,"callback":311,"permissionCallback":820,"file":344,"line":717},"\u002Fincomplete-achievements",[815],{"namespace":802,"route":825,"methods":826,"callback":311,"permissionCallback":820,"file":344,"line":827},"\u002Fcompleted-achievements",[815],105,{"namespace":802,"route":829,"methods":830,"callback":831,"permissionCallback":38,"file":346,"line":832},"\u002Fsettings\u002F(?P\u003Cplugin>[a-z0-9\\-]+)",[815],"anonymous",4,{"namespace":834,"route":803,"methods":835,"callback":806,"permissionCallback":807,"file":359,"line":677},"wpe\u002Fv1",[805],{"namespace":834,"route":809,"methods":837,"callback":811,"permissionCallback":807,"file":359,"line":202},[805],{"namespace":834,"route":839,"methods":840,"callback":841,"permissionCallback":807,"file":359,"line":714},"\u002Fforce-remove-license",[805],"force_remove_license_key",{"namespace":834,"route":813,"methods":843,"callback":816,"permissionCallback":807,"file":359,"line":734},[815],{"namespace":834,"route":822,"methods":845,"callback":846,"permissionCallback":311,"file":361,"line":721},[815],"get_incomplete_achievements",{"namespace":834,"route":825,"methods":848,"callback":849,"permissionCallback":311,"file":361,"line":438},[815],"get_completed_achievements",{"namespace":834,"route":851,"methods":852,"callback":853,"permissionCallback":311,"file":361,"line":854},"\u002Fplugins-status",[815],"get_plugins_status",45,{"namespace":834,"route":856,"methods":857,"callback":858,"permissionCallback":311,"file":361,"line":859},"\u002Fplugin-action",[805],"plugin_action",51,{"namespace":834,"route":829,"methods":861,"callback":831,"permissionCallback":38,"file":364,"line":832},[815],{"namespace":834,"route":863,"methods":864,"callback":865,"permissionCallback":311,"file":366,"line":202},"\u002Fsomdn-config-check",[805],"run_config_check",{"namespace":834,"route":867,"methods":868,"callback":869,"permissionCallback":311,"file":369,"line":632},"\u002Fsomdn-integration-test",[805],"run_integration_tests",{"namespace":834,"route":871,"methods":872,"callback":873,"permissionCallback":807,"file":373,"line":362},"\u002Fget-addon-licenses",[815],"get_addon_licenses",{"namespace":834,"route":875,"methods":876,"callback":877,"permissionCallback":807,"file":373,"line":304},"\u002Fdebug-addon-licenses",[815],"debug_addon_licenses",{"namespace":834,"route":879,"methods":880,"callback":881,"permissionCallback":807,"file":373,"line":438},"\u002Fvalidate-addon-license",[805],"validate_addon_license",{"namespace":834,"route":883,"methods":884,"callback":885,"permissionCallback":807,"file":373,"line":593},"\u002Fdeactivate-addon-license",[805],"deactivate_addon_license",[887,891,895],{"tag":888,"callback":889,"file":890,"line":82},"download_now","somdn_single_shortcode","includes\\Legacy\\somdn-shortcodes.php",{"tag":892,"callback":893,"file":890,"line":894},"download_now_page","somdn_single_shortcode_page",143,{"tag":896,"callback":897,"file":559,"line":536},"add_to_cart","somdn_custom_woo_add_to_cart_shortcode",[899],{"hook":192,"callback":192,"file":182,"line":370},{"dangerousFunctions":901,"sqlUsage":902,"outputEscaping":907,"fileOperations":574,"externalRequests":48,"nonceChecks":832,"capabilityChecks":694,"bundledLibraries":1214},[],{"prepared":63,"raw":28,"locations":903},[904],{"file":905,"line":63,"context":906},"includes\\somdn-db-indexes.php","$wpdb->query() with variable interpolation",{"escaped":908,"rawEcho":909,"locations":910},298,181,[911,914,916,917,919,921,923,925,927,928,930,932,934,936,938,940,942,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1028,1030,1031,1033,1035,1037,1040,1042,1044,1046,1048,1049,1050,1051,1052,1053,1055,1056,1057,1059,1060,1061,1063,1065,1067,1068,1069,1071,1072,1073,1076,1078,1080,1082,1084,1085,1087,1088,1089,1091,1093,1094,1096,1097,1099,1100,1102,1103,1104,1106,1107,1109,1111,1113,1114,1115,1116,1117,1118,1119,1120,1121,1123,1124,1125,1126,1128,1130,1131,1132,1133,1134,1136,1137,1139,1140,1141,1143,1144,1146,1147,1149,1150,1151,1152,1153,1155,1157,1158,1160,1161,1163,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1183,1184,1185,1186,1187,1189,1191,1192,1194,1196,1198,1200,1201,1203,1205,1207,1209,1211,1212],{"file":158,"line":912,"context":913},88,"raw output",{"file":158,"line":915,"context":913},202,{"file":158,"line":504,"context":913},{"file":158,"line":918,"context":913},401,{"file":158,"line":920,"context":913},405,{"file":158,"line":922,"context":913},409,{"file":207,"line":924,"context":913},484,{"file":207,"line":926,"context":913},506,{"file":207,"line":926,"context":913},{"file":207,"line":929,"context":913},628,{"file":207,"line":931,"context":913},823,{"file":207,"line":933,"context":913},824,{"file":207,"line":935,"context":913},836,{"file":207,"line":937,"context":913},866,{"file":207,"line":939,"context":913},895,{"file":207,"line":941,"context":913},905,{"file":279,"line":215,"context":913},{"file":284,"line":944,"context":913},440,{"file":284,"line":946,"context":913},516,{"file":284,"line":948,"context":913},533,{"file":284,"line":950,"context":913},542,{"file":284,"line":952,"context":913},552,{"file":284,"line":954,"context":913},560,{"file":284,"line":956,"context":913},835,{"file":284,"line":958,"context":913},846,{"file":284,"line":960,"context":913},857,{"file":284,"line":962,"context":913},859,{"file":284,"line":964,"context":913},869,{"file":284,"line":966,"context":913},880,{"file":284,"line":968,"context":913},889,{"file":284,"line":970,"context":913},1139,{"file":284,"line":972,"context":913},1178,{"file":284,"line":974,"context":913},1244,{"file":284,"line":976,"context":913},1291,{"file":284,"line":978,"context":913},1293,{"file":284,"line":980,"context":913},1308,{"file":284,"line":982,"context":913},1310,{"file":284,"line":984,"context":913},1312,{"file":284,"line":986,"context":913},1314,{"file":284,"line":988,"context":913},1316,{"file":284,"line":990,"context":913},1327,{"file":284,"line":992,"context":913},1338,{"file":284,"line":994,"context":913},1376,{"file":284,"line":996,"context":913},1443,{"file":284,"line":998,"context":913},1489,{"file":284,"line":1000,"context":913},1494,{"file":284,"line":1002,"context":913},1499,{"file":284,"line":1004,"context":913},1504,{"file":284,"line":1006,"context":913},1509,{"file":284,"line":1008,"context":913},1554,{"file":284,"line":1010,"context":913},1638,{"file":284,"line":1012,"context":913},1641,{"file":284,"line":1014,"context":913},1684,{"file":284,"line":1016,"context":913},1687,{"file":284,"line":1018,"context":913},1689,{"file":284,"line":1020,"context":913},1705,{"file":284,"line":1022,"context":913},1708,{"file":284,"line":1024,"context":913},1710,{"file":1026,"line":367,"context":913},"includes\\Legacy\\somdn-settings-header.php",{"file":1026,"line":714,"context":913},{"file":890,"line":1029,"context":913},116,{"file":303,"line":438,"context":913},{"file":320,"line":1032,"context":913},385,{"file":376,"line":1034,"context":913},86,{"file":437,"line":1036,"context":913},193,{"file":1038,"line":1039,"context":913},"Lib\\Requirements\\Requirements.php",169,{"file":1038,"line":1041,"context":913},170,{"file":1038,"line":1043,"context":913},205,{"file":1038,"line":1045,"context":913},206,{"file":1047,"line":694,"context":913},"templates\\download-forms\\multi-file-button-checkboxes.php",{"file":1047,"line":734,"context":913},{"file":1047,"line":734,"context":913},{"file":1047,"line":211,"context":913},{"file":1047,"line":370,"context":913},{"file":1047,"line":215,"context":913},{"file":1054,"line":63,"context":913},"templates\\download-forms\\multi-file-button-filenames.php",{"file":1054,"line":586,"context":913},{"file":1054,"line":238,"context":913},{"file":1058,"line":605,"context":913},"templates\\download-forms\\multi-file-button-links.php",{"file":1058,"line":586,"context":913},{"file":1058,"line":238,"context":913},{"file":1058,"line":1062,"context":913},73,{"file":1058,"line":1064,"context":913},74,{"file":1066,"line":574,"context":913},"templates\\download-forms\\multi-file-button.php",{"file":1066,"line":727,"context":913},{"file":1066,"line":625,"context":913},{"file":1070,"line":582,"context":913},"templates\\download-forms\\multi-file-links.php",{"file":1070,"line":238,"context":913},{"file":1070,"line":859,"context":913},{"file":1074,"line":1075,"context":913},"templates\\download-forms\\single-file.php",67,{"file":1077,"line":219,"context":913},"woo-files\\somdn-woo-archive.php",{"file":523,"line":1079,"context":913},602,{"file":523,"line":1081,"context":913},728,{"file":559,"line":1083,"context":913},284,{"file":559,"line":1083,"context":913},{"file":559,"line":1086,"context":913},288,{"file":559,"line":1086,"context":913},{"file":559,"line":1086,"context":913},{"file":559,"line":1090,"context":913},306,{"file":559,"line":1092,"context":913},322,{"file":559,"line":1092,"context":913},{"file":559,"line":1095,"context":913},601,{"file":570,"line":211,"context":913},{"file":1098,"line":586,"context":913},"woo-files\\somdn-woo-quickview-template.php",{"file":1098,"line":238,"context":913},{"file":1098,"line":1101,"context":913},75,{"file":590,"line":727,"context":913},{"file":590,"line":1034,"context":913},{"file":590,"line":1105,"context":913},137,{"file":590,"line":1105,"context":913},{"file":590,"line":1108,"context":913},142,{"file":590,"line":1110,"context":913},289,{"file":590,"line":1112,"context":913},317,{"file":601,"line":374,"context":913},{"file":601,"line":619,"context":913},{"file":601,"line":694,"context":913},{"file":601,"line":202,"context":913},{"file":601,"line":574,"context":913},{"file":601,"line":578,"context":913},{"file":601,"line":362,"context":913},{"file":601,"line":13,"context":913},{"file":601,"line":1122,"context":913},98,{"file":601,"line":1122,"context":913},{"file":601,"line":1122,"context":913},{"file":601,"line":1122,"context":913},{"file":601,"line":1127,"context":913},115,{"file":601,"line":1129,"context":913},122,{"file":601,"line":1129,"context":913},{"file":601,"line":321,"context":913},{"file":601,"line":332,"context":913},{"file":601,"line":339,"context":913},{"file":601,"line":1135,"context":913},140,{"file":601,"line":1135,"context":913},{"file":601,"line":1138,"context":913},144,{"file":601,"line":1138,"context":913},{"file":601,"line":100,"context":913},{"file":601,"line":1142,"context":913},157,{"file":601,"line":1142,"context":913},{"file":601,"line":1145,"context":913},162,{"file":601,"line":1145,"context":913},{"file":601,"line":1148,"context":913},175,{"file":601,"line":1148,"context":913},{"file":601,"line":915,"context":913},{"file":601,"line":468,"context":913},{"file":601,"line":920,"context":913},{"file":601,"line":1154,"context":913},453,{"file":601,"line":1156,"context":913},462,{"file":601,"line":1156,"context":913},{"file":601,"line":1159,"context":913},465,{"file":601,"line":1159,"context":913},{"file":601,"line":1162,"context":913},512,{"file":601,"line":948,"context":913},{"file":601,"line":1165,"context":913},583,{"file":601,"line":1167,"context":913},598,{"file":601,"line":1169,"context":913},638,{"file":601,"line":1171,"context":913},678,{"file":601,"line":1173,"context":913},679,{"file":601,"line":1175,"context":913},684,{"file":601,"line":1177,"context":913},685,{"file":601,"line":1179,"context":913},686,{"file":601,"line":1181,"context":913},751,{"file":612,"line":163,"context":913},{"file":612,"line":181,"context":913},{"file":612,"line":721,"context":913},{"file":612,"line":321,"context":913},{"file":612,"line":332,"context":913},{"file":612,"line":1188,"context":913},266,{"file":612,"line":1190,"context":913},283,{"file":612,"line":597,"context":913},{"file":612,"line":1193,"context":913},326,{"file":612,"line":1195,"context":913},332,{"file":612,"line":1197,"context":913},341,{"file":612,"line":1199,"context":913},373,{"file":612,"line":498,"context":913},{"file":612,"line":1202,"context":913},395,{"file":612,"line":1204,"context":913},406,{"file":612,"line":1206,"context":913},436,{"file":612,"line":1208,"context":913},458,{"file":612,"line":1210,"context":913},460,{"file":612,"line":924,"context":913},{"file":612,"line":1213,"context":913},497,[],[1216],{"entryPoint":1217,"graph":1218,"unsanitizedCount":832,"severity":41},"\u003Csomdn-downloader> (includes\\Legacy\\somdn-downloader.php:0)",{"nodes":1219,"edges":1245},[1220,1224,1228,1234,1237,1240],{"id":1221,"type":1222,"label":1223,"file":176,"line":226},"n0","source","$_POST (x2)",{"id":1225,"type":1226,"label":1227,"file":176,"line":226},"n1","transform","→ somdn_show_pdf()",{"id":1229,"type":1230,"label":1231,"file":182,"line":1232,"wp_function":1233},"n2","sink","wp_redirect() [Open Redirect]",417,"wp_redirect",{"id":1235,"type":1222,"label":1223,"file":176,"line":1236},"n3",337,{"id":1238,"type":1226,"label":1239,"file":176,"line":1236},"n4","→ somdn_write_log()",{"id":1241,"type":1230,"label":1242,"file":207,"line":1243,"wp_function":1244},"n5","file_put_contents() [File Write]",997,"file_put_contents",[1246,1247,1248,1249],{"from":1221,"to":1225,"sanitized":796},{"from":1225,"to":1229,"sanitized":796},{"from":1235,"to":1238,"sanitized":796},{"from":1238,"to":1241,"sanitized":796},{"summary":1251,"deductions":1252},"The 'download-now-for-woocommerce' v3.6.4 plugin exhibits a generally good security posture with strengths in its use of prepared statements for SQL queries and a significant number of capability checks. The absence of dangerous functions and bundled libraries is also a positive indicator. However, there are notable areas of concern, particularly regarding its attack surface and the handling of output. The plugin exposes 5 unprotected entry points across AJAX handlers and REST API routes, representing a potential avenue for unauthorized access or manipulation. Furthermore, a substantial 38% of its output is not properly escaped, which could lead to cross-site scripting (XSS) vulnerabilities, especially if user-supplied data is involved. The vulnerability history shows one medium-severity CVE related to XSS, and while it is currently patched, this pattern suggests that proper input sanitization and output escaping are areas that require continuous attention and improvement.\n\nWhile the presence of only one patched medium-severity CVE is a positive sign, the high percentage of unescaped output and the unprotected entry points are significant risks. The single flow with unsanitized paths, though not rated critical or high, warrants investigation to ensure it doesn't become a vector for exploitation. The plugin's strengths in database interaction and permission checks are commendable, but these are overshadowed by the potential for XSS and unauthorized access due to the identified weaknesses. A balanced conclusion would be that the plugin has a foundation of good security practices, but requires significant improvement in input validation and output escaping, as well as a reduction in its unprotected attack surface, to achieve a robust security profile.",[1253,1255,1257,1259,1261],{"reason":1254,"points":82},"Unprotected REST API routes",{"reason":1256,"points":319},"Unprotected AJAX handlers",{"reason":1258,"points":163},"Significant unescaped output",{"reason":1260,"points":319},"Flow with unsanitized paths",{"reason":1262,"points":82},"Medium severity CVE (historical)","2026-03-16T18:10:59.033Z",{"wat":1265,"direct":1281},{"assetPaths":1266,"generatorPatterns":1272,"scriptPaths":1273,"versionParams":1275},[1267,1268,1269,1270,1271],"\u002Fwp-content\u002Fplugins\u002Fdownload-now-for-woocommerce\u002Fassets\u002Fjs\u002Fsomdn-script.js","\u002Fwp-content\u002Fplugins\u002Fdownload-now-for-woocommerce\u002Fassets\u002Fcss\u002Fsomdn-style.css","\u002Fwp-content\u002Fplugins\u002Fdownload-now-for-woocommerce\u002Fassets\u002Fjs\u002Fsomdn-settings-script.js","\u002Fwp-content\u002Fplugins\u002Fdownload-now-for-woocommerce\u002Fassets\u002Fcss\u002Fsomdn-settings-style.css","\u002Fwp-content\u002Fplugins\u002Fdownload-now-for-woocommerce\u002Fassets\u002Fcss\u002Fsomdn-admin-style.css",[],[1274,1269],"\u002Fwp-content\u002Fplugins\u002Fdownload-now-for-woocommerce\u002Fassets\u002Fjs\u002Fsomdn_script.js",[1276,1277,1278,1279,1280],"download-now-for-woocommerce\u002Fassets\u002Fjs\u002Fsomdn-script.js?ver=","download-now-for-woocommerce\u002Fassets\u002Fcss\u002Fsomdn-style.css?ver=","download-now-for-woocommerce\u002Fassets\u002Fjs\u002Fsomdn-settings-script.js?ver=","download-now-for-woocommerce\u002Fassets\u002Fcss\u002Fsomdn-settings-style.css?ver=","download-now-for-woocommerce\u002Fassets\u002Fcss\u002Fsomdn-admin-style.css?ver=",{"cssClasses":1282,"htmlComments":1287,"htmlAttributes":1288,"restEndpoints":1289,"jsGlobals":1290,"shortcodeOutput":1292},[1283,1284,1285,1286],"somdn-download-wrap","somdn-download-button","somdn-download-archive","somdn-download-link",[],[],[],[1291],"somdn_script_params",[]]