[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fzfzqZEPYN7GFmRtrwoSLybbKYkr5Le5KSqrsHbFBSfo":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":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":38,"analysis":142,"fingerprints":543},"boopis-woocommerce-rfq","Boopis WooCommerce RFQ","3.0.9","David","https:\u002F\u002Fprofiles.wordpress.org\u002Fboopis\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fxtractor.app\" rel=\"nofollow ugc\">Sponsored by Xtractor\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fworkspace.google.com\u002Fmarketplace\u002Fapp\u002Femail_parser\u002F40769086099\" rel=\"nofollow ugc\">Get Email Parser here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>The Original RFQ Plugin For WordPress\u003C\u002Fh4>\n\u003Cp>Turning your online store into a lead generating machine has never been easier with the WooCommerce Request For Quotation Plugin for WordPress. As competition increases with everyone selling the same products online, merchants are beginning to use ecommerce stores as a means to generate inquiries for custom quoted products.\u003C\u002Fp>\n\u003Cp>If you have restrictions from your manufacturer for published prices, this plugin in perfect for you to generate interest from potential customers, and turn them into sales. If you sell expensive goods that requires negotiating prices, this plugin will help you start selling online.\u003C\u002Fp>\n\u003Cp>Turn all you products into quotable items or pick just a few and mix and match items that can be purchased online and items that need quotes. All you need to do is change the price to zero, and presto, you’ve got a quotable item.\u003C\u002Fp>\n\u003Cp>Alernatively you can turn your products into quotable items based on product tags.\u003C\u002Fp>\n\u003Cp>Once the users click the inquire button, they are sent to a contact form where the product information is automatically filled into the form and you can define the fields that the customer needs to fill in. By reducing the amount of steps your online users take, the better chance you have of converting them into customers.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Convert products into quotatable items with prices set to zero\u003C\u002Fli>\n\u003Cli>Convert products into quotatable items based on tags\u003C\u002Fli>\n\u003Cli>Add multiple products to quotations request\u003C\u002Fli>\n\u003Cli>Autofill logged in user’s information into quote request\u003C\u002Fli>\n\u003Cli>Transfer filled in data for quote request into an order\u003C\u002Fli>\n\u003Cli>Create proposal to customer with emails and webviews of proposal\u003C\u002Fli>\n\u003Cli>Adjust all the details of proposal with terms, expiration date, pricing, line items\u003C\u002Fli>\n\u003Cli>Set auto emails for new, pending, expired, and failed quotes\u003C\u002Fli>\n\u003Cli>Copy and customize your own emails\u003C\u002Fli>\n\u003Cli>Allow customer to pay for proposal on your website through checkout\u003C\u002Fli>\n\u003Cli>Translatable text\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Special Thanks For Contributions\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fusers\u002Fkimoj\u002F\" rel=\"ugc\">@kimoj\u003C\u002Fa> for \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Ftranslating-files-via-po\u002F\" rel=\"ugc\">reporting translation bug.\u003C\u002Fa>\u003C\u002Fp>\n","Replaces products with a price of zero to an open form for inquiry",70,12392,72,17,"2024-07-25T16:00:00.000Z","4.7.32","3.8.0","",[20,21,22,23,24],"hide-price","quote-request","request-quote","rfq","zero-price","https:\u002F\u002Fboopis.com\u002Fproducts\u002F1-wordpress-woocommerce-request-for-quotation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fboopis-woocommerce-rfq.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"boopis",1,30,88,"2026-04-04T11:24:32.682Z",[39,63,85,104,124],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":27,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":18,"download_link":59,"security_score":60,"vuln_count":61,"unpatched_count":28,"last_vuln_date":62,"fetched_at":30},"quotes-for-woocommerce","Quotes for WooCommerce","2.12","pinal.shah","https:\u002F\u002Fprofiles.wordpress.org\u002Fpinalshah\u002F","\u003Cp>Plugins required:\u003C\u002Fp>\n\u003Col>\n\u003Cli>WooCommerce 4.0 or higher\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Want to convert your WooCommerce store into a Quote only program? This plugin allows the admin to hide the prices and modify the Add to Cart button to ‘Request Quote’.\u003C\u002Fp>\n\u003Cp>No payment is taken at Checkout. The prices for the product can be setup in the WooCommerce->Orders page and once a quote is finalized, the plugin will send an email to the end user notifying the same.\u003C\u002Fp>\n\u003Cp>The users can then make the payments using the link in the email or the My Accounts page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What will the Quotes plugin help you achieve?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customize pricing for each order to meet individual customer needs.\u003C\u002Fli>\n\u003Cli>Offer payment flexibility by not taking payment at checkout for quote requests.\u003C\u002Fli>\n\u003Cli>Manage quoting process easily with one-click enable\u002Fdisable option for all products.\u003C\u002Fli>\n\u003Cli>Enhance customer experience and attract new customers with personalized quotes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Unlock Advanced Features for Enhanced Quoting and Sales Management using the \u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fquotes-for-woocommerce-pro\u002F\" rel=\"nofollow ugc\">Premium Version\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable quotes for only some products in the store.\u003C\u002Fli>\n\u003Cli>Allow quote and purchasable products in a single cart.\u003C\u002Fli>\n\u003Cli>Enable quotes for select variations of a product\u003C\u002Fli>\n\u003Cli>Automatically enable quotes based on item quantity for each product.\u003C\u002Fli>\n\u003Cli>Customize quote button display based on WordPress User Roles\u003C\u002Fli>\n\u003Cli>Seamlessly process both regular orders and quote requests for all products\u003C\u002Fli>\n\u003Cli>Automatically activate quoting for out-of-stock products\u003C\u002Fli>\n\u003Cli>Streamline communication with automated quote emails\u003C\u002Fli>\n\u003Cli>Centralize quote management on a unified page for efficiency\u003C\u002Fli>\n\u003Cli>Convert quote requests to WooCommerce orders with a single click\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Enable simultaneous quote requests and orders\u003C\u002Fstrong>\u003Cbr \u002F>\nEnable the Request Quote form with a single click. This adds a Request Quote button on single product pages and the standard WooCommerce Add to Cart button.\u003C\u002Fp>\n\u003Cp>With both buttons available, customers can make quotation requests and purchase products simultaneously.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Take quotations for back-ordered products\u003C\u002Fstrong>\u003Cbr \u002F>\nSet up Quotes for WooCommerce Pro to automatically enable quotes for a product as soon as the stock quantity reaches zero. Reach out to the user when the product is back in stock with a quotation email.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fquotes-for-woocommerce-pro\u002F\" rel=\"nofollow ugc\">Quotes for WooCommerce Pro\u003C\u002Fa> | \u003Ca href=\"mailto:support@technovama.com\" rel=\"nofollow ugc\">Support Helpdesk\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Effortlessly manage wholesale and retail customers\u003C\u002Fstrong>\u003Cbr \u002F>\nCater to wholesale and retail customers by enabling quotations based on user roles. The extension allows you to replace the Add to Cart button with the Request Quote button based on user roles.\u003C\u002Fp>\n\u003Cp>You can enable wholesale customer quotes while allowing retail users to place a normal WooCommerce order for the same products using WordPress user roles.\u003C\u002Fp>\n","This plugin allows the site admin the ability to accept quote requests for products. Prices can be hidden. No payments will be taken at Checkout.",4000,102936,61,"2026-03-06T06:30:00.000Z","6.9.4","4.5","7.4",[20,55,56,57,58],"proposals","quotes","woocommerce","woocommerce-request-quote","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fquotes-for-woocommerce.2.12.zip",99,2,"2023-11-30 00:00:00",{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":73,"num_ratings":74,"last_updated":75,"tested_up_to":51,"requires_at_least":76,"requires_php":53,"tags":77,"homepage":81,"download_link":82,"security_score":83,"vuln_count":34,"unpatched_count":28,"last_vuln_date":84,"fetched_at":30},"wc-place-order-without-payment","Place Order Without Payment for WooCommerce","2.7.5","Nitin Prakash","https:\u002F\u002Fprofiles.wordpress.org\u002Fnitin247\u002F","\u003Cp>The “Place Order Without Payment for WooCommerce” plugin provides a seamless solution for allowing customers to place orders on your WooCommerce store without the need for immediate payment. This plugin is particularly useful for scenarios such as pre-orders, pay-on-delivery services, or collecting order information for further processing.\u003C\u002Fp>\n\u003Cp>By following our easy installation and setup instructions, you can enhance your customer experience by providing them with the flexibility to place orders without the pressure of immediate payment. With this plugin, you can streamline your order fulfillment process while maintaining control over payment collection.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable a “Place Order Without Payment” option for your WooCommerce store.\u003C\u002Fli>\n\u003Cli>Customize the plugin settings to align with your business requirements.\u003C\u002Fli>\n\u003Cli>Collect essential order details from customers during the checkout process.\u003C\u002Fli>\n\u003Cli>Improve customer satisfaction and engagement by accommodating different payment preferences.\u003C\u002Fli>\n\u003Cli>Whether you are running a limited-time pre-order campaign or providing the convenience of pay-on-delivery services, the “Place Order Without Payment for WooCommerce” plugin empowers you to create a smooth and user-friendly ordering process for your customers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>After Installing this plugin, Payment system will be removed from checkout page of woocommerce and users can directly place order without payment.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Benefits of using the “Place Order Without Payment for WooCommerce” plugin:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Improved customer experience: Customers can place orders more quickly and easily, without having to enter their payment information.\u003C\u002Fli>\n\u003Cli>Increased sales: Allowing customers to place orders without payment can encourage them to buy more products, especially if they are unsure whether or not they can afford them immediately.\u003C\u002Fli>\n\u003Cli>Reduced shopping cart abandonment: By allowing customers to place orders without payment, you can reduce the number of abandoned shopping carts on your store.\u003C\u002Fli>\n\u003Cli>Versatility: The plugin can be used to create different types of orders without payment, such as pre-orders, quotes, and pay-on-delivery orders.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Learn how to create a place order without payment functionality for WooCommerce using the plugin “Place Order Without Payment for WooCommerce”. This plugin allows you to create different types of orders without payment, such as pre-orders, quotes, and pay-on-delivery orders.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fnitin247.com\u002Fhow-to-create-a-place-order-without-payment\u002F?utm_source=wpowp-lite&utm_campaign=wp-repo&utm_medium=readme&utm_term=WPOWP\" rel=\"nofollow ugc\">How to Create a Place Order Without Payment for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Plugin Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>1- Functionality to hide payment section from woocommerce site.\u003C\u002Fp>\n\u003Cp>2- Skip Cart and go to checkout on Add to cart.\u003C\u002Fp>\n\u003Cp>3- Direct Complete Order Without Payment.\u003C\u002Fp>\n\u003Cp>4- Disable Payment Functionality in Woocommerce.\u003C\u002Fp>\n\u003Cp>5- Complete orders without payment in woocommerce.\u003C\u002Fp>\n\u003Cp>6- Fully Tested with latest wordpress and woocommerce versions.\u003C\u002Fp>\n\u003Cp>7- Tested upto PHP 8.1\u003C\u002Fp>\n\u003Cp>8- Compatible with WooCommerce Min Max Quantities\u003C\u002Fp>\n\u003Cp>For complete documentation, please visit the \u003Ca href=\"https:\u002F\u002Fnitin247.com\u002Fdocs\u002Fplace-order-without-payment\u002F\" rel=\"nofollow ugc\">documentation page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Boost Sales & Customer Satisfaction, get ‘\u003Ca href=\"https:\u002F\u002Fnitin247.com\u002Fplugin\u002Fwoocommerce-place-order-without-payment\u002F?utm_source=wpowp-lite&utm_campaign=wp-repo&utm_medium=readme&utm_term=WPOWP\" rel=\"nofollow ugc\">Place Order Without Payment PRO\u003C\u002Fa>‘ plugin today.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PRO Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>1- Custom Add to Cart Text\u003C\u002Fp>\n\u003Cp>2- Remove shipping rates\u003C\u002Fp>\n\u003Cp>3- Remove Checkout Privacy Text\u003C\u002Fp>\n\u003Cp>4- “FREE Product”\u003C\u002Fp>\n\u003Cp>5- Quote Only or Request Quote button\u003C\u002Fp>\n\u003Cp>6- Filters to exclude Products, Categories from Place Order function\u003C\u002Fp>\n\u003Cp>7- \u003Cstrong>Custom Rules\u003C\u002Fstrong> for \u003Cem>Place Order button\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>8- \u003Cstrong>Custom Rules\u003C\u002Fstrong> for \u003Cem>Request Quote button\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>9- \u003Cstrong>Pending Payment Email Notification:\u003C\u002Fstrong> Stay on top of your orders with our prompt email notifications for pending payments.\u003C\u002Fp>\n\u003Cp>10- \u003Cstrong>Mail Template:\u003C\u002Fstrong> Customize pending payment email template as per your business needs.\u003C\u002Fp>\n\u003Cp>11- \u003Cstrong>Pay Order Link:\u003C\u002Fstrong> Simplify the payment process with direct pay order links.\u003C\u002Fp>\n\u003Cp>12- \u003Cstrong>Automatic Mail Sending:\u003C\u002Fstrong> Effortlessly manage pending payments with automatic email sending based on order status.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Coming Soon\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Order Approval for WooCommerce\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is released under the GPLv2 or later. You can find the full license text in the \u003Ccode>LICENSE\u003C\u002Fcode> file included with this plugin.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support or any inquiries, please contact us at \u003Ca href=\"mailto:nitin247@outlook.com\" rel=\"nofollow ugc\">nitin247@outlook.com\u003C\u002Fa> or create a suppport request on our \u003Ca href=\"https:\u002F\u002Fnitin247.com\u002Fsupport\" rel=\"nofollow ugc\">Support Page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Enjoy using the Place order without payment plugin!\u003C\u002Fp>\n","Place Order Without Payment for WooCommerce will allow users to place orders directly without payment.",3000,80770,96,20,"2026-02-18T10:06:00.000Z","6.2",[78,79,21,22,80],"pre-order","quote-plugin","woocommerce-pre-order","https:\u002F\u002Fnitin247.com\u002Fplugin\u002Fwoocommerce-place-order-without-payment\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwc-place-order-without-payment.2.7.5.zip",97,"2025-02-23 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":74,"downloaded":93,"rating":94,"num_ratings":34,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":98,"tags":99,"homepage":102,"download_link":103,"security_score":94,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"woo-price-quote-inquiry","Price Quote for WooCommerce","2.0.0","wbcomdesigns","https:\u002F\u002Fprofiles.wordpress.org\u002Fwbcomdesigns\u002F","\u003Cp>The \u003Cstrong>Price Quote for WooCommerce\u003C\u002Fstrong> plugin enables store owners to hide product prices and “Add to Cart” buttons, replacing them with a “Request Quote” system. Perfect for B2B stores, wholesale operations, or businesses that need custom pricing negotiations.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hide Product Prices\u003C\u002Fstrong> – Optionally hide prices on shop and product pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Replace Add to Cart\u003C\u002Fstrong> – Convert purchase buttons to “Request Quote” buttons  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quote Cart System\u003C\u002Fstrong> – Customers can collect multiple products before requesting a quote\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Storage\u003C\u002Fstrong> – Cookie-based storage for guests, user meta for logged-in users (no sessions!)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role-Based Control\u003C\u002Fstrong> – Enable\u002Fdisable quote features for specific user roles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce Email Integration\u003C\u002Fstrong> – Fully integrated with WooCommerce’s email system\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Professional Email Templates\u003C\u002Fstrong> – Beautiful HTML emails with template override support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quote History\u003C\u002Fstrong> – Logged-in users can view their quote request history\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visual Feedback\u003C\u002Fstrong> – Smooth animations and persistent button states\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile Responsive\u003C\u002Fstrong> – Works perfectly on all devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No Dependencies\u003C\u002Fstrong> – Clean, lightweight code with no external libraries required\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>B2B and wholesale businesses\u003C\u002Fli>\n\u003Cli>Custom manufacturing and made-to-order products\u003C\u002Fli>\n\u003Cli>Services requiring consultation before pricing\u003C\u002Fli>\n\u003Cli>Bulk order inquiries\u003C\u002Fli>\n\u003Cli>International shipping quotes\u003C\u002Fli>\n\u003Cli>Any business model requiring price negotiation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What’s New in Version 2.0\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Complete Architecture Rewrite\u003C\u002Fstrong> – Professional, WordPress.org-ready code\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cookie-Based Guest Storage\u003C\u002Fstrong> – No more PHP sessions or login requirements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Inverted Permission Logic\u003C\u002Fstrong> – Quotes enabled for all by default\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Persistent Button States\u003C\u002Fstrong> – Visual indicators for products already in quote\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Improved UX\u003C\u002Fstrong> – Better animations, clearer messaging, streamlined workflow\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Professional Naming\u003C\u002Fstrong> – All functions follow WordPress coding standards\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Database Logging\u003C\u002Fstrong> – All quote requests stored for admin review\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce Email Integration\u003C\u002Fstrong> – Full integration with WooCommerce’s email system\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Template Override Support\u003C\u002Fstrong> – Customize email templates via theme overrides\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Better Email Templates\u003C\u002Fstrong> – Modern, responsive email designs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Configure Settings\u003C\u002Fstrong> – Choose to hide prices, disable cart, select user roles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customers Browse\u003C\u002Fstrong> – Products show “Request Quote” instead of “Add to Cart”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Build Quote List\u003C\u002Fstrong> – Customers add multiple products to their quote\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Submit Request\u003C\u002Fstrong> – One-page form collects contact details and requirements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Notifications\u003C\u002Fstrong> – Admin receives quote request, customer gets confirmation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Follow Up\u003C\u002Fstrong> – Admin contacts customer with personalized pricing\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Developer Information\u003C\u002Fh3>\n\u003Ch4>Hooks and Filters\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Actions:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>wcpq_before_quote_button\u003C\u002Fcode> – Before quote button output\u003Cbr \u002F>\n* \u003Ccode>wcpq_after_quote_button\u003C\u002Fcode> – After quote button output\u003Cbr \u002F>\n* \u003Ccode>wcpq_before_quote_submission\u003C\u002Fcode> – Before processing quote submission\u003Cbr \u002F>\n* \u003Ccode>wcpq_after_quote_submission\u003C\u002Fcode> – After quote submission complete\u003Cbr \u002F>\n* \u003Ccode>wcpq_before_send_admin_notification\u003C\u002Fcode> – Before sending admin email\u003Cbr \u002F>\n* \u003Ccode>wcpq_after_send_admin_notification\u003C\u002Fcode> – After sending admin email\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Filters:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>wcpq_is_quote_available_for_user_role\u003C\u002Fcode> – Control quote availability\u003Cbr \u002F>\n* \u003Ccode>wcpq_product_quotable\u003C\u002Fcode> – Control if specific product can be quoted\u003Cbr \u002F>\n* \u003Ccode>wcpq_button_classes\u003C\u002Fcode> – Customize button CSS classes\u003Cbr \u002F>\n* \u003Ccode>wcpq_quote_data\u003C\u002Fcode> – Filter quote data before processing\u003Cbr \u002F>\n* \u003Ccode>wcpq_email_subject\u003C\u002Fcode> – Customize email subjects\u003Cbr \u002F>\n* \u003Ccode>wcpq_email_message\u003C\u002Fcode> – Customize email content\u003Cbr \u002F>\n* \u003Ccode>wcpq_skip_default_emails\u003C\u002Fcode> – Skip default email system (when using WooCommerce emails)\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or custom development:\u003Cbr \u002F>\n* Visit: https:\u002F\u002Fwbcomdesigns.com\u002F\u003Cbr \u002F>\n* Email: support@wbcomdesigns.com\u003Cbr \u002F>\n* Documentation: https:\u002F\u002Fwbcomdesigns.com\u002Fdocs\u002F\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by Wbcom Designs – WordPress & WooCommerce Experts\u003C\u002Fp>\n","Transform your WooCommerce store into a B2B powerhouse by allowing customers to request price quotes for products instead of direct purchasing.",4719,100,"2025-09-12T11:56:00.000Z","6.7.5","5.0","7.2",[20,100,101,22,57],"inquiry","price-quote","https:\u002F\u002Fwbcomdesigns.com\u002Fdownloads\u002Fwoocommerce-price-quote\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-price-quote-inquiry.2.0.0.zip",{"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":14,"last_updated":115,"tested_up_to":51,"requires_at_least":116,"requires_php":117,"tags":118,"homepage":122,"download_link":123,"security_score":94,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"elex-woocommerce-catalog-mode","ELEX WooCommerce Catalog Mode","1.5.3","ELEXtensions","https:\u002F\u002Fprofiles.wordpress.org\u002Felextensions\u002F","\u003Cp>ELEX WooCommerce Catalog Mode plugin offers comprehensive solution to turn your store into catalog mode. All functionalities related to catalog mode we have made completely free! Not just that, you can replace the Add-to-Cart button with a custom button on product page and shop page. If you wish to redirect your customers to another site for specific products, you can set a custom URL for custom button on shop page.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WooCommerce Catalog Mode.\u003C\u002Fli>\n\u003Cli>Remove Add-to-Cart button.\u003C\u002Fli>\n\u003Cli>Replace Add-to-Cart button with a Custom Button.\u003C\u002Fli>\n\u003Cli>Hide product prices.\u003C\u002Fli>\n\u003Cli>Turn your WooCommerce Store into catalog mode.\u003C\u002Fli>\n\u003Cli>Redirect product page to third-party or affiliate sites, by assigning a custom URL for products on shop page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to enable WooCommerce Catalog Mode – Video\u003C\u002Fh4>\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\u002FwHgA4-zevBE?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>Premium Version Features\u003C\u002Fh4>\n\u003Cp>For complete list of latest features and details, please visit \u003Ca href=\"https:\u002F\u002Felextensions.com\u002Fplugin\u002Fwoocommerce-catalog-mode-wholesale-role-based-pricing\u002F\" rel=\"nofollow ugc\">ELEX WooCommerce Catalog Mode, Wholesale & Role Based Pricing\u003C\u002Fa> premium version product page.\u003Cbr \u002F>\n👉 Premium Plugin Live Demo: \u003Ca href=\"https:\u002F\u002Fapp.instawp.io\u002Flaunch?t=elex-woocommerce-catalog-mode-wholesale--role-based-pricing&d=v2\" rel=\"nofollow ugc\">Exclusive Live Demo Site\u003C\u002Fa>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> WooCommerce Role based pricing.\u003C\u002Fli>\n\u003Cli> WooCommerce Cateogry Pricing.\u003C\u002Fli>\n\u003Cli> WooCommerce Wholesale Pricing.\u003C\u002Fli>\n\u003Cli> WooCommerce Customer Specific Pricing.\u003C\u002Fli>\n\u003Cli> WooCommerce Request a Quote.\u003C\u002Fli>\n\u003Cli> Role-Based WooCommerce Sales Tax Options.\u003C\u002Fli>\n\u003Cli> Supports Simple, Variable & Grouped Products.\u003C\u002Fli>\n\u003Cli> Add or Remove WooCommerce & WordPress User roles.\u003C\u002Fli>\n\u003Cli> Set up Role-based pricing for Simple & Variable Products on respective product pages.\u003C\u002Fli>\n\u003Cli> Option to apply Discount\u002FMarkup only on Sale Price.\u003C\u002Fli>\n\u003Cli> Hide individual products for various user roles.\u003C\u002Fli>\n\u003Cli> More customization options on individual product pages.\u003C\u002Fli>\n\u003Cli> WordPress Multilingual (WPML) Support.\u003C\u002Fli>\n\u003Cli> Timely compatibility updates and bug fixes.\u003C\u002Fli>\n\u003Cli> Premium Support!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Ch4>Why WooCommerce catalog mode is necessary for your store?\u003C\u002Fh4>\n\u003Cp>There may be instances where you may consider revising product prices, updating your stocks, do not wish to display product prices to certain type of users, or are running into maintenance issues. In these cases, there are chances that your site traffic might drop, or even worse, you could lose your potential customers. Hence it would be ideal for your site to turn into WooCommerce catalog mode, so that you don’t lose your customers’ interest. A simple solution would be to let your customers know about the status of the product, by using a custom message, instead of order button.\u003C\u002Fp>\n\u003Ch4>About ELEXtensions\u003C\u002Fh4>\n\u003Cp>We are a group of WordPress and WooCommerce enthusiasts with a vision to solve genuine problems related to WordPress & WooCommerce stores.\u003C\u002Fp>\n","Easily turn your WooCommerce store into catalog mode with the best plugin designed for efficiency and effectiveness.",10000,298829,94,"2026-02-03T14:01:00.000Z","3.0.1","5.6",[119,20,57,120,121],"catalog-mode","woocommerce-catalog-mode","woocommerce-catalog-only","https:\u002F\u002Felextensions.com\u002Fplugin\u002Felex-woocommerce-catalog-mode-plugin-free\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Felex-woocommerce-catalog-mode.1.5.3.zip",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":132,"downloaded":133,"rating":27,"num_ratings":134,"last_updated":135,"tested_up_to":51,"requires_at_least":136,"requires_php":53,"tags":137,"homepage":18,"download_link":139,"security_score":140,"vuln_count":34,"unpatched_count":28,"last_vuln_date":141,"fetched_at":30},"woo-rfq-for-woocommerce","NP Quote Request for WooCommerce","2.4.11","Neah Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fgplsaver\u002F","\u003Cp>NP Quote Request for WooCommerce enables your customers to easily submit a quote request to your WooCommerce store. It is very flexible and can be used in a variety of store settings. NP Quote Request for WooCommerce enables you to generate leads and engage with your customers!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>New Feature! Favorites:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cem>Allow customers to save favorite products for later purchase or quote request\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>You can configure NP Quote Request for WooCommerce basic version in different ways:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1- Allow quote request on selected products.Simple and varaiable product types\u003C\u002Fstrong>\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\u002FhaFv3kifRo8?version=3&rel=0&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\u003Cp>\u003Cstrong>2- All product types. Customers can submit their cart as a quote request at checkout:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Customers submit their cart as a quote request.\u003Cbr \u002F>\n* Customers submit their cart as a quote request or purchase based on minimum (premium).\u003Cbr \u002F>\n* Customers submit their cart as a quote request or purchase based on items in the cart (premium).\u003Cbr \u002F>\n* Limit price visiblity and quote request ability by role (premium).\u003Cbr \u002F>\n* Limit price visiblity and quote request ability by IP address (premium).\u003Cbr \u002F>\n* Show prices but hide add to cart and only allow quote request for items in normal mode (premium).\u003Cbr \u002F>\n* Allow customer to go through checkout without paying. Admin can then optionally covert the order to a quote request and email the customer.\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\u002Fb9H9VVToNYs?version=3&rel=0&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\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-rfq-for-woocommerce\u002F#installation\" rel=\"ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Hides or shows prices with your choice of Normal Checkout mode or RFQ mode.\u003C\u002Fli>\n\u003Cli>Creates orders from an RFQ.\u003C\u002Fli>\n\u003Cli>Sends confirmation emails to customer and shop manager.\u003C\u002Fli>\n\u003Cli>RFQ list shown in the RFQ page.\u003C\u002Fli>\n\u003Cli>Manage price visibility.\u003C\u002Fli>\n\u003Cli>Support for variable product in normal checkout.\u003Cbr \u002F>\n\u003Cem>Allow customers to save favorite products for later purchase or quote request\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.neahplugins.com\u002F\" rel=\"nofollow ugc\">NP Quote Request for WooCommerce Premium Extension\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Compatible with WooCommerce Product Add-ons (from WooCommerce). This is the one we recommend to use with our plugin and support in normal or RFQ mode.*\u003C\u002Fli>\n\u003Cli>Most other product option builder can integrate in RFQ mode. Please test in the free version for compatibility.*\u003C\u002Fli>\n\u003Cli>More flexiblity and control over price visibility*\u003C\u002Fli>\n\u003Cli>Better integration with Astra theme\u003C\u002Fli>\n\u003Cli>Better integration with QuickView plugins\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Oc9zx2IR0zU\" rel=\"nofollow ugc\">Create a Widget for the inquiries\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Conditional RFQ mode with a few lines of code.\u003C\u002Fli>\n\u003Cli>Compatible with WooCommerce product add-ons.\u003C\u002Fli>\n\u003Cli>Allow buy now or request a quote at WooCommerce checkout.\u003C\u002Fli>\n\u003Cli>Redirect to quote request page in the normal mode\u003C\u002Fli>\n\u003Cli>Staff mode can see all prices, buy or request a quote based on IP address.\u003C\u002Fli>\n\u003Cli>Control who sees prices by roles\u003C\u002Fli>\n\u003Cli>Customize the quote request page for normal checkout.\u003C\u002Fli>\n\u003Cli>In the pro version, shop manager can write a proposal the customer in the quote request, choose to include a link to “pay”.\u003Cbr \u002F>\nand save the status as “Quote Sent”.\u003Cbr \u002F>\nThis triggers an email, notifying the customer of the quote, which is payable by following the link.\u003C\u002Fli>\n\u003Cli>Allow customers to submit a bid while requesting a quote.\u003C\u002Fli>\n\u003Cli>Allow quantity box for Add to Quote button in archive and category pages.\u003C\u002Fli>\n\u003Cli>Add to Quote short code with quantity box.\u003C\u002Fli>\n\u003Cli>Allow sales staff to see prices on the front end while logged in as customers. (based on IP address)\u003C\u002Fli>\n\u003Cli>Customer can also choose to respond to the proposal and add a response(note) by clicking in the “respond” link in the email.\u003C\u002Fli>\n\u003Cli>Add custom HTML content to the top and bottom of the quote request page.\u003C\u002Fli>\n\u003Cli>Designate additional fields as required for visitors such as phone,zip,state etc.\u003C\u002Fli>\n\u003Cli>Choose to allow create an account or disable.\u003C\u002Fli>\n\u003Cli>RFQ Enable or disable all products in bulk. Useful if you use the “normal checkout” and have a lot of products.\u003C\u002Fli>\n\u003Cli>RFQ Enable or disable all products in a category. Useful if you use the “normal checkout” and have a lot of products.\u003C\u002Fli>\n\u003Cli>Plugin can operate in 2 modes: Request for quote checkout and normal checkout.\u003C\u002Fli>\n\u003Cli>In “RFQ Checkout” , you can optionally allow customer to pay now or submit a quote request at Checkout. Allows either â€œCheckout or Request quoteâ€ for the entire cart.\u003C\u002Fli>\n\u003Cli>With “Checkout or Request quote” you can limit by minimum purchase ( quote request available above a minimum).\u003C\u002Fli>\n\u003Cli>With “Checkout or Request quote” you can limit by allowing either quote request or purchasing depending on the products in the cart.\u003C\u002Fli>\n\u003Cli>Send custom content with the confirmation and proposal email. Customize the content even further based on each product.\u003C\u002Fli>\n\u003Cli>Accept customer bids while submitting quotes.\u003C\u002Fli>\n\u003Cli>Quote cart widget in the normal check.\u003C\u002Fli>\n\u003Cli>Change the “reply to” in emails to admin to be the customer’s email.\u003C\u002Fli>\n\u003Cli>Customize color, background color and mouse effects of the quote button.\u003C\u002Fli>\n\u003Cli>Add to quote shortcode.\u003C\u002Fli>\n\u003Cli>Add custom fields to your checkout page using a Ninja Form.\u003C\u002Fli>\n\u003Cli>Add custom HTML content to the top and bottom of the quote request page.*\u003C\u002Fli>\n\u003Cli>Designate additional fields as required such as phone,zip,state etc.\u003C\u002Fli>\n\u003Cli>Choose to allow create an account or disable for new customers on quote request page.\u003C\u002Fli>\n\u003Cli>In RFQ mode, allow customer to pay now or submit a quote request at Checkout. Allows either “Checkout or Request quote” for the entire cart.\u003C\u002Fli>\n\u003Cli>RFQ Enable or disable all products in bulk.\u003C\u002Fli>\n\u003Cli>Send custom content with the confirmation and proposal email. Customize the content even further based on each product.\u003C\u002Fli>\n\u003Cli>Choose a redirect page after add to quote.\u003C\u002Fli>\n\u003Cli>More control over showing prices and showing add to cart button in normal checkout.\u003C\u002Fli>\n\u003Cli>More control over showing prices in customer emails.\u003C\u002Fli>\n\u003Cli>Better support for third party plugins order meta data.\u003C\u002Fli>\n\u003Cli>Set defaults for new products to be quote request products.\u003C\u002Fli>\n\u003Cli>Set automatic expiration \u002F cancellation for quotes based on number of days.\u003C\u002Fli>\n\u003Cli>Resend Quote Confirmation and Quote Sent emails using order actions in the order screen.\u003C\u002Fli>\n\u003Cli>Beta: Integration with Advanced Product Fields Plugin basic(free) version.\u003C\u002Fli>\n\u003Cli>Beta: Integration with WooCommerce Product Add-on Ultimate Plugin basic version.\u003C\u002Fli>\n\u003Cli>And many more features..\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>NP Quote Request for WooCommerce Premium Only Features\u003C\u002Fh4>\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\u002Fb1Q93LPjEp4?version=3&rel=0&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\u003Cp>\u003Ca href=\"https:\u002F\u002Fyoutu.be\u002Fsq6Dt0kRnzw?rel=0\" rel=\"nofollow ugc\">Email, Content Marketing & Dashboard Video\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FuqGzFyPnyWY?rel=0\" rel=\"nofollow ugc\">Custom fields Video\u003C\u002Fa>\u003C\u002Fp>\n","NP Quote Request for WooCommerce enables your customers to easily submit quote requests to your WooCommerce store. Flexible WooCommerce Quote Request!",9000,1010962,87,"2026-01-14T15:35:00.000Z","6.3",[138],"woocommerce-quote-request","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-rfq-for-woocommerce.2.4.11.zip",98,"2025-03-19 22:42:46",{"attackSurface":143,"codeSignals":334,"taintFlows":488,"riskAssessment":530,"analyzedAt":542},{"hooks":144,"ajaxHandlers":307,"restRoutes":326,"shortcodes":327,"cronEvents":331,"entryPointCount":332,"unprotectedCount":333},[145,151,156,160,163,167,172,176,179,183,187,191,195,199,203,205,209,213,217,220,223,225,228,230,233,235,237,240,242,244,246,249,252,256,260,264,268,272,276,280,284,288,291,294,297,301,304],{"type":146,"name":147,"callback":148,"file":149,"line":150},"action","plugins_loaded","includes","boopis-rfq.php",89,{"type":152,"name":153,"callback":154,"file":149,"line":155},"filter","woocommerce_email_classes","add_email_classes",90,{"type":146,"name":157,"callback":158,"file":149,"line":159},"admin_menu","add_menu",91,{"type":152,"name":161,"callback":161,"priority":162,"file":149,"line":27},"plugin_action_links",10,{"type":146,"name":164,"callback":165,"file":149,"line":166},"wp_enqueue_scripts","scripts",93,{"type":146,"name":168,"callback":169,"priority":162,"file":170,"line":171},"init","register_custom_post_status","includes\\class-boopis-rfq-admin.php",12,{"type":152,"name":173,"callback":174,"file":170,"line":175},"wc_order_statuses","custom_wc_order_statuses",15,{"type":152,"name":177,"callback":178,"priority":162,"file":170,"line":14},"wc_order_is_editable","add_custom_quotes_to_editable",{"type":152,"name":180,"callback":181,"priority":162,"file":170,"line":182},"woocommerce_email_actions","quote_email_actions",19,{"type":146,"name":184,"callback":185,"file":170,"line":186},"add_meta_boxes","add_quote_meta_box",21,{"type":146,"name":188,"callback":189,"file":170,"line":190},"save_post","boopis_rfq_save_proposal",23,{"type":146,"name":192,"callback":193,"file":170,"line":194},"woocommerce_order_actions","add_order_meta_box_actions",25,{"type":146,"name":196,"callback":197,"file":170,"line":198},"woocommerce_order_action_boopis_rfq_send_quote","process_order_meta_box_actions",27,{"type":152,"name":200,"callback":201,"priority":162,"file":170,"line":202},"woocommerce_locate_template","boopis_rfq_locate_template",29,{"type":152,"name":204,"callback":201,"priority":162,"file":170,"line":35},"woocommerce_locate_core_template",{"type":152,"name":206,"callback":207,"priority":162,"file":170,"line":208},"woocommerce_valid_order_statuses_for_payment","add_pending_quote_to_valid_order_statuses_for_payment",31,{"type":152,"name":210,"callback":211,"priority":162,"file":170,"line":212},"the_title","change_title_based_on_endpoints",32,{"type":152,"name":214,"callback":215,"priority":34,"file":216,"line":171},"woocommerce_price_html","boopis_price_replace","includes\\class-boopis-rfq-front.php",{"type":152,"name":218,"callback":215,"priority":34,"file":216,"line":219},"woocommerce_sale_price_html",13,{"type":152,"name":221,"callback":215,"priority":34,"file":216,"line":222},"woocommerce_get_price_html",14,{"type":152,"name":224,"callback":215,"priority":34,"file":216,"line":175},"woocommerce_variation_price_html",{"type":152,"name":226,"callback":215,"priority":34,"file":216,"line":227},"woocommerce_get_variation_price_html",16,{"type":152,"name":229,"callback":215,"priority":34,"file":216,"line":14},"woocommerce_variation_sale_price_html",{"type":152,"name":231,"callback":215,"priority":34,"file":216,"line":232},"woocommerce_variable_sale_price_html",18,{"type":152,"name":234,"callback":215,"priority":34,"file":216,"line":182},"woocommerce_variable_price_html",{"type":152,"name":236,"callback":215,"priority":34,"file":216,"line":190},"woocommerce_empty_price_html",{"type":152,"name":238,"callback":215,"priority":34,"file":216,"line":239},"woocommerce_variable_empty_price_html",24,{"type":152,"name":241,"callback":215,"priority":34,"file":216,"line":194},"woocommerce_variation_empty_price_html",{"type":152,"name":243,"callback":215,"priority":34,"file":216,"line":208},"woocommerce_free_price_html",{"type":152,"name":245,"callback":215,"priority":34,"file":216,"line":212},"woocommerce_free_sale_price_html",{"type":152,"name":247,"callback":215,"priority":34,"file":216,"line":248},"woocommerce_variation_free_price_html",33,{"type":152,"name":250,"callback":215,"priority":34,"file":216,"line":251},"woocommerce_grouped_price_html",34,{"type":152,"name":253,"callback":254,"file":216,"line":255},"add_to_cart_text","boopis_add_to_quote_text",37,{"type":152,"name":257,"callback":258,"file":216,"line":259},"add_to_cart_url","boopis_add_to_quote_url",38,{"type":152,"name":261,"callback":262,"file":216,"line":263},"add_to_cart_class","boopis_add_to_quote_class",39,{"type":146,"name":265,"callback":266,"file":216,"line":267},"woocommerce_before_add_to_cart_button","boopis_before_add_to_quote_button",40,{"type":146,"name":269,"callback":270,"file":216,"line":271},"woocommerce_after_add_to_cart_button","boopis_after_add_to_quote_button",41,{"type":146,"name":273,"callback":274,"file":216,"line":275},"woocommerce_before_add_to_cart_form","boopis_before_add_to_quote_form",42,{"type":152,"name":277,"callback":278,"file":216,"line":279},"woocommerce_loop_add_to_cart_link","boopis_loop_add_to_quote_link",45,{"type":146,"name":281,"callback":282,"file":216,"line":283},"before_woocommerce_init","boopis_rfq_init",48,{"type":152,"name":285,"callback":286,"file":216,"line":287},"woocommerce_params","boopis_rfq_params",49,{"type":146,"name":168,"callback":289,"file":216,"line":290},"boopis_rfq_update_quote_action",56,{"type":146,"name":168,"callback":292,"file":216,"line":293},"boopis_rfq_add_to_quote_action",57,{"type":146,"name":168,"callback":168,"priority":295,"file":296,"line":248},5,"includes\\class-boopis-rfq-session.php",{"type":146,"name":298,"callback":299,"file":300,"line":248},"woocommerce_order_status_expired-quote_notification","trigger","includes\\emails\\class-boopis-rfq-customer-email-expired-quote.php",{"type":146,"name":302,"callback":299,"file":303,"line":248},"woocommerce_order_status_new-quote_to_pending-quote_notification","includes\\emails\\class-boopis-rfq-customer-email-pending-quote.php",{"type":146,"name":305,"callback":299,"file":306,"line":212},"woocommerce_order_status_pending-quote_to_failed-quote_notification","includes\\emails\\class-boopis-rfq-email-failed-quote.php",[308,313,316,319,321,324],{"action":309,"nopriv":310,"callback":311,"hasNonce":310,"hasCapCheck":310,"file":216,"line":312},"woocommerce_add_to_quote",false,"boopis_rfq_ajax_add_to_quote",50,{"action":309,"nopriv":314,"callback":311,"hasNonce":310,"hasCapCheck":310,"file":216,"line":315},true,51,{"action":317,"nopriv":310,"callback":317,"hasNonce":310,"hasCapCheck":310,"file":216,"line":318},"boopis_rfq_process_form",52,{"action":317,"nopriv":314,"callback":317,"hasNonce":310,"hasCapCheck":310,"file":216,"line":320},53,{"action":322,"nopriv":310,"callback":322,"hasNonce":314,"hasCapCheck":310,"file":216,"line":323},"boopis_rfq_process_proposal",54,{"action":322,"nopriv":314,"callback":322,"hasNonce":314,"hasCapCheck":310,"file":216,"line":325},55,[],[328],{"tag":329,"callback":330,"file":149,"line":212},"boopis_rfq","boopis_rfq_handler",[],7,4,{"dangerousFunctions":335,"sqlUsage":336,"outputEscaping":340,"fileOperations":28,"externalRequests":28,"nonceChecks":295,"capabilityChecks":486,"bundledLibraries":487},[],{"prepared":28,"raw":34,"locations":337},[338],{"file":149,"line":275,"context":339},"$wpdb->get_var() with variable interpolation",{"escaped":341,"rawEcho":159,"locations":342},68,[343,346,349,351,353,355,357,359,361,363,365,367,369,370,373,375,377,378,380,381,383,384,386,387,389,391,392,393,394,397,399,400,402,403,404,406,407,408,410,411,412,414,415,416,418,419,420,422,423,424,425,426,428,429,430,431,432,434,436,437,438,439,441,442,443,444,445,447,448,450,452,454,455,456,457,459,460,462,464,466,468,470,472,473,474,476,478,480,482,484,485],{"file":149,"line":344,"context":345},80,"raw output",{"file":347,"line":348,"context":345},"includes\\class-boopis-rfq-emails.php",75,{"file":347,"line":350,"context":345},83,{"file":216,"line":352,"context":345},139,{"file":216,"line":354,"context":345},148,{"file":216,"line":356,"context":345},152,{"file":216,"line":358,"context":345},158,{"file":216,"line":360,"context":345},162,{"file":216,"line":362,"context":345},316,{"file":216,"line":364,"context":345},341,{"file":366,"line":222,"context":345},"templates\\emails\\email-quote-customer-details.php",{"file":368,"line":312,"context":345},"templates\\emails\\email-quote-details.php",{"file":368,"line":315,"context":345},{"file":371,"line":372,"context":345},"templates\\emails\\email-quote-footer.php",28,{"file":374,"line":171,"context":345},"templates\\emails\\email-quote-header.php",{"file":374,"line":376,"context":345},22,{"file":374,"line":248,"context":345},{"file":379,"line":232,"context":345},"templates\\emails\\email-quote-items.php",{"file":379,"line":376,"context":345},{"file":379,"line":382,"context":345},26,{"file":379,"line":251,"context":345},{"file":379,"line":385,"context":345},46,{"file":379,"line":287,"context":345},{"file":379,"line":388,"context":345},58,{"file":390,"line":162,"context":345},"templates\\emails\\email-quote-terms.php",{"file":390,"line":219,"context":345},{"file":390,"line":194,"context":345},{"file":390,"line":194,"context":345},{"file":395,"line":396,"context":345},"templates\\emails\\plain\\admin-failed-quote.php",9,{"file":395,"line":398,"context":345},11,{"file":395,"line":202,"context":345},{"file":401,"line":396,"context":345},"templates\\emails\\plain\\admin-new-quote.php",{"file":401,"line":398,"context":345},{"file":401,"line":194,"context":345},{"file":405,"line":396,"context":345},"templates\\emails\\plain\\customer-expired-quote.php",{"file":405,"line":398,"context":345},{"file":405,"line":202,"context":345},{"file":409,"line":396,"context":345},"templates\\emails\\plain\\customer-new-quote.php",{"file":409,"line":398,"context":345},{"file":409,"line":194,"context":345},{"file":413,"line":396,"context":345},"templates\\emails\\plain\\customer-pending-quote.php",{"file":413,"line":398,"context":345},{"file":413,"line":202,"context":345},{"file":417,"line":332,"context":345},"templates\\emails\\plain\\email-quote-customer-details.php",{"file":417,"line":396,"context":345},{"file":417,"line":398,"context":345},{"file":421,"line":396,"context":345},"templates\\emails\\plain\\email-quote-details.php",{"file":421,"line":162,"context":345},{"file":421,"line":398,"context":345},{"file":421,"line":198,"context":345},{"file":421,"line":212,"context":345},{"file":427,"line":222,"context":345},"templates\\emails\\plain\\email-quote-items.php",{"file":427,"line":232,"context":345},{"file":427,"line":372,"context":345},{"file":427,"line":212,"context":345},{"file":427,"line":287,"context":345},{"file":427,"line":433,"context":345},60,{"file":435,"line":332,"context":345},"templates\\emails\\plain\\email-quote-terms.php",{"file":435,"line":396,"context":345},{"file":435,"line":398,"context":345},{"file":435,"line":186,"context":345},{"file":440,"line":202,"context":345},"templates\\form\\items.php",{"file":440,"line":263,"context":345},{"file":440,"line":287,"context":345},{"file":440,"line":323,"context":345},{"file":440,"line":13,"context":345},{"file":446,"line":251,"context":345},"templates\\form\\main.php",{"file":446,"line":283,"context":345},{"file":446,"line":449,"context":345},103,{"file":451,"line":372,"context":345},"templates\\form\\proposal.php",{"file":451,"line":453,"context":345},35,{"file":451,"line":267,"context":345},{"file":451,"line":279,"context":345},{"file":451,"line":323,"context":345},{"file":451,"line":458,"context":345},85,{"file":451,"line":114,"context":345},{"file":451,"line":461,"context":345},95,{"file":451,"line":463,"context":345},106,{"file":451,"line":465,"context":345},110,{"file":451,"line":467,"context":345},118,{"file":451,"line":469,"context":345},119,{"file":471,"line":239,"context":345},"templates\\form\\thankyou.php",{"file":471,"line":202,"context":345},{"file":471,"line":248,"context":345},{"file":471,"line":475,"context":345},63,{"file":471,"line":477,"context":345},64,{"file":471,"line":479,"context":345},77,{"file":471,"line":481,"context":345},112,{"file":483,"line":283,"context":345},"templates\\rfq_settings.php",{"file":483,"line":83,"context":345},{"file":483,"line":469,"context":345},3,[],[489,505,519],{"entryPoint":490,"graph":491,"unsanitizedCount":28,"severity":504},"\u003Cproposal> (templates\\form\\proposal.php:0)",{"nodes":492,"edges":502},[493,497],{"id":494,"type":495,"label":496,"file":451,"line":175},"n0","source","$_GET (x2)",{"id":498,"type":499,"label":500,"file":451,"line":463,"wp_function":501},"n1","sink","echo() [XSS]","echo",[503],{"from":494,"to":498,"sanitized":314},"low",{"entryPoint":506,"graph":507,"unsanitizedCount":486,"severity":504},"\u003Cthankyou> (templates\\form\\thankyou.php:0)",{"nodes":508,"edges":516},[509,511,512,514],{"id":494,"type":495,"label":510,"file":471,"line":162},"$_GET (x3)",{"id":498,"type":499,"label":500,"file":471,"line":239,"wp_function":501},{"id":513,"type":495,"label":510,"file":471,"line":162},"n2",{"id":515,"type":499,"label":500,"file":471,"line":388,"wp_function":501},"n3",[517,518],{"from":494,"to":498,"sanitized":310},{"from":513,"to":515,"sanitized":314},{"entryPoint":520,"graph":521,"unsanitizedCount":28,"severity":504},"\u003Crfq_settings> (templates\\rfq_settings.php:0)",{"nodes":522,"edges":528},[523,525],{"id":494,"type":495,"label":524,"file":483,"line":398},"$_POST (x4)",{"id":498,"type":499,"label":526,"file":483,"line":186,"wp_function":527},"update_option() [Settings Manipulation]","update_option",[529],{"from":494,"to":498,"sanitized":314},{"summary":531,"deductions":532},"The \"boopis-woocommerce-rfq\" plugin v3.0.9 presents a mixed security posture. While it shows a clean vulnerability history with no known CVEs and no bundled libraries, the static analysis reveals several areas of concern regarding its attack surface and code hygiene.  A significant portion of its AJAX handlers, specifically 4 out of 6, lack proper authentication checks, creating potential entry points for unauthorized actions.  Furthermore, the plugin's SQL queries are not prepared, indicating a risk of SQL injection vulnerabilities, and a concerning percentage of output is not properly escaped, raising concerns about cross-site scripting (XSS) vulnerabilities.\n\nThe taint analysis, while limited in scope with only 3 flows analyzed, did identify one flow with unsanitized paths. Although this flow did not reach a critical or high severity in the analysis, it is indicative of potential issues with how user-supplied data is handled, especially when combined with the lack of prepared SQL statements and unescaped output.  The presence of nonce checks and capability checks is a positive sign, demonstrating some awareness of WordPress security best practices. However, the lack of these checks on a substantial number of AJAX handlers, coupled with the unescaped output and raw SQL queries, outweighs the strengths and suggests that the plugin requires significant security improvements to be considered robust.",[533,535,537,540],{"reason":534,"points":162},"AJAX handlers without authentication checks",{"reason":536,"points":162},"SQL queries without prepared statements",{"reason":538,"points":539},"Insufficient output escaping",8,{"reason":541,"points":332},"Flow with unsanitized paths (taint analysis)","2026-03-16T21:38:16.284Z",{"wat":544,"direct":553},{"assetPaths":545,"generatorPatterns":548,"scriptPaths":549,"versionParams":550},[546,547],"\u002Fwp-content\u002Fplugins\u002Fboopis-woocommerce-rfq\u002Fassets\u002Fcss\u002Fstyles.css","\u002Fwp-content\u002Fplugins\u002Fboopis-woocommerce-rfq\u002Fassets\u002Fjs\u002Ffrontend\u002Fadd-to-quote.js",[],[547],[551,552],"boopis-woocommerce-rfq\u002Fassets\u002Fcss\u002Fstyles.css?ver=","boopis-woocommerce-rfq\u002Fassets\u002Fjs\u002Ffrontend\u002Fadd-to-quote.js?ver=",{"cssClasses":554,"htmlComments":556,"htmlAttributes":558,"restEndpoints":560,"jsGlobals":561,"shortcodeOutput":563},[555],"boopis-rfq-form",[557],"\u003C!-- BOOPIS RFQ TEMPLATE FILE -->",[559],"data-rfq-ajax-url",[],[562],"boopis_rfq_ajax_obj",[564],"[boopis_rfq]"]