[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fihYU6yMQRw9g9rkmVQtrZ4JGCs1J8Y-Weybz0lMESjg":3,"$flXsl6CCYoM8TrPiL28YFkfYwqBdbiMQLJq5740sjXHM":501,"$ftIq1XbeWLVz68YJlAPaZUfRXziSPT7AKsMpuromh89s":506},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":13,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":50,"crawl_stats":37,"alternatives":58,"analysis":165,"fingerprints":467},"ni-purchase-orderpo-for-woocommerce","Ni Purchase Order(PO) For WooCommerce","1.2.3","Anzar Ahmed","https:\u002F\u002Fprofiles.wordpress.org\u002Fanzia\u002F","\u003Cp>\nNi Purchase Order (PO) For WooCommercegives you the option to create the product purchase order. Setting provides theoption to set a bailing address, shipping address, shop name, shop address, shoplogo and signature in purchase order invoice and option to print or export thepurchase order into PDF.\n\u003C\u002Fp>\n\u003Cp>\nStock report show the all product list simple and variation product, filter by product name, product sku, mange stock and stock status. Stock report also shows the product stock valuation of each product.\n\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key feature for purchase order system for WooCommerce\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create purchase order\u003C\u002Fli>\n\u003Cli>Create or select the existing product vendor for purchase order (PO) \u003C\u002Fli>\n\u003Cli>Set the purchase order (PO) status to pending or received\u003C\u002Fli>\n\u003Cli>Create the purchase order (PO) invoice and Print or export to PDF\u003C\u002Fli>\n\u003Cli>Option to set the company logo and signature in purchase invoice\u003C\u002Fli>\n\u003Cli>Option to set shop billing address or shipping address\u003C\u002Fli>\n\u003Cli>Footer notes\u003C\u002Fli>\n\u003Cli>Export to PDF or HTML print \u003C\u002Fli>\n\u003Cli>Stock Report and Stock valuation report\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Ch4>Language support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English (Default)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cblockquote>\n\u003Ch4>Support\u002FFeedback Email\u002FNew Report Requirement\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>We are open to your suggestions and feedback – Thank you for using or trying out one of our plugins\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"support@naziinfotech.com\" rel=\"nofollow ugc\">support@naziinfotech.com\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Ch3>Disclaimer\u003C\u002Fh3>\n\u003Cp>Users are fully responsible for their own use.\u003C\u002Fp>\n","Ni Purchase Order (PO) For WooCommerce gives you the option to create the product purchase order for product vendor or supplier.   ",10,1755,0,"2024-05-31T11:22:00.000Z","6.5.8","4.7","7.0",[19,20,21,22,23],"order","purchase-order","purchase-pdf","vendor","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fni-purchase-orderpo-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fni-purchase-orderpo-for-woocommerce.1.2.3.zip",92,1,"2023-09-26 00:00:00","2026-04-06T09:54:40.288Z","no_bundle",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":28,"updated_date":44,"references":45,"days_to_patch":47,"patch_diff_files":48,"patch_trac_url":37,"research_status":37,"research_verified":49,"research_rounds_completed":13,"research_plan":37,"research_summary":37,"research_vulnerable_code":37,"research_fix_diff":37,"research_exploit_outline":37,"research_model_used":37,"research_started_at":37,"research_completed_at":37,"research_error":37,"poc_status":37,"poc_video_id":37,"poc_summary":37,"poc_steps":37,"poc_tested_at":37,"poc_wp_version":37,"poc_php_version":37,"poc_playwright_script":37,"poc_exploit_code":37,"poc_has_trace":49,"poc_model_used":37,"poc_verification_depth":37},"CVE-2023-5957","ni-purchase-orderpo-for-woocommerce-authenticated-admin-arbitrary-file-upload","Ni Purchase Order(PO) For WooCommerce \u003C= 1.2.1 - Authenticated (Admin+) Arbitrary File Upload","The Ni Purchase Order(PO) For WooCommerce plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the image upload functionality in all versions up to, and including 1.2.1. This makes it possible for authenticated attackers, with administrative-level access and above, to upload arbitrary files on the affected site's server which may make remote code execution possible.",null,"\u003C=1.2.1","1.2.2","low",3.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:H\u002FUI:N\u002FS:U\u002FC:L\u002FI:L\u002FA:N","Unrestricted Upload of File with Dangerous Type","2024-05-31 16:03:01",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F67817d5a-2d7a-4b96-9c04-cd1ad9c90b29?source=api-prod",249,[],false,{"slug":51,"display_name":7,"profile_url":8,"plugin_count":52,"total_installs":53,"avg_security_score":54,"avg_patch_time_days":55,"trust_score":56,"computed_at":57},"anzia",26,4600,86,228,69,"2026-05-19T22:38:58.260Z",[59,85,104,128,148],{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":81,"download_link":82,"security_score":83,"vuln_count":13,"unpatched_count":13,"last_vuln_date":37,"fetched_at":84},"atum-stock-manager-for-woocommerce","ATUM WooCommerce Inventory Management and Stock Tracking","1.9.55","Stock Management Labs","https:\u002F\u002Fprofiles.wordpress.org\u002Fstockmanagementlabs\u002F","\u003Cp>\u003Cstrong>✨ NEW IMPROVED ATUM v1.9 ✨\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\u002FuAUXj4vUYRs?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\u003Cp>\u003Cstrong>💻 NEW \u003Ca href=\"https:\u002F\u002Fstockmanagementlabs.github.io\u002Fatum-rest-api-docs\u002F\" rel=\"nofollow ugc\">ATUM REST API\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📖 NEW \u003Ca href=\"https:\u002F\u002Fstockmanagementlabs.crunch.help\u002F\" rel=\"nofollow ugc\">ATUM’s KNOWLEDGE BASE\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>💬 \u003Ca href=\"https:\u002F\u002Fforum.stockmanagementlabs.com\" title=\"Visit the official ATUM forum\" rel=\"nofollow ugc\">FOR ANY QUESTIONS, VISIT OUR OFFICIAL FORUMS\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>DESCRIPTION\u003C\u002Fh4>\n\u003Cp>If you have an online store, you need ATUM, the most \u003Cstrong>powerful stock management solution\u003C\u002Fstrong> for Woocommerce.\u003C\u002Fp>\n\u003Cp>ATUM is now the most advanced FREE WooCommerce inventory management tool in the WordPress plugins repository. Good WooCommerce inventory solution is an absolute must for every serious shop owner. The Dashboard Statistics or the breath-taking Stock Central, the heart of ATUM, gives you the full control of your WooCommerce stock. Get the ability to quickly edit every aspect of your WooCommerce inventory, suppliers, SKUs, locations, weight, or even prices. Beautifully carved into the WordPress interface, the system feels very familiar and \u003Cstrong>user-friendly\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>ATUM Dashboard creates an entirely new, and we felt a necessary connection between the creators and users. The dashboard aims to become an everyday screen with a quick link to support, documentation, and most importantly, business stats. We have developed a brand-new widget section that can be personalized from every corner.\u003C\u002Fp>\n\u003Cp>Each section of ATUM has an \u003Cstrong>intuitive layout\u003C\u002Fstrong> to favor the experience of store owners, facilitating stock management, and contributing to the optimization of time and resources. We understand that shop owners need to focus their efforts on growing their online business, so our aim is to help our clients through our add-ons to \u003Cstrong>get to the top\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Stock Management Labs™\u003C\u002Fstrong>, creators that have combined over 25 years of experience in inventory management, working very closely with a bunch of professional WordPress developers since October 2016. The aim is to create the complete WooCommerce solution that will take care of all your business needs.\u003C\u002Fp>\n\u003Cp>In addition, in the preparation process for the development stage, we have tested and tried the most popular WooCommerce inventory management and cloud inventory management plugins in the world. With full confidence, we believe that ATUM will become unrivalled in every category.\u003C\u002Fp>\n\u003Ch4>AVAILABLE FEATURES\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpml.org\u002Fplugin\u002Fatum-inventory-management-for-woocommerce\u002F\" title=\"Visit the WPML compatibility page\" rel=\"nofollow ugc\">WPML FULLY COMPATIBLE\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Most Advanced FREE WooCommerce Inventory Management – Inventory Statistics (Periodical Sales, Inventory Levels, Lost Sales, Promo Sales), Stock Central with Data Export, Inventory Logs (Reserved Stock, Lost In Post, Customer Returns, Inbound Stock, Warehouse Damages), One Page Updating, Quick Price Changes, Stock Levels Indicators, Suppliers, Purchase Orders, and Premium Add-ons.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>ATUM ground-breaking Stock Control system.\u003C\u002Fli>\n\u003Cli>All WooCommerce products on one screen with a smooth mouse wheel or touchpad scrolling.\u003C\u002Fli>\n\u003Cli>Image thumbnails for easier identification of your WooCommerce Inventory.\u003C\u002Fli>\n\u003Cli>Short product names overview including the products’ ID and SKU. Change SKUs on the fly from one screen. Now with direct edit links.\u003C\u002Fli>\n\u003Cli>Purchase prices are now included with direct edit from the Stock Central page. WooCommerce inventory management was never easier.\u003C\u002Fli>\n\u003Cli>Suppliers column and fully filtered product list by Suppliers name.\u003C\u002Fli>\n\u003Cli>Quickly edit the Product Price and Product Sale Price, including the date ranges of your sales. Now bulk editing is available.\u003C\u002Fli>\n\u003Cli>Change, edit, or update the inventory of every WooCommerce product in your database. Changes immediately reflect the front-end of your site.\u003C\u002Fli>\n\u003Cli>Weekly and Fortnightly Sales, Lost Sales, and Inventory Level Indicators to help you with re-ordering plan.\u003C\u002Fli>\n\u003Cli>Customise the visual appearance of Stock Central with the ability to add or remove any columns according to your business needs.\u003C\u002Fli>\n\u003Cli>Complete “HELP” sections with the detailed explanation of every feature.\u003C\u002Fli>\n\u003Cli>Advanced search with an autofill feature and fine-tuned performance.\u003C\u002Fli>\n\u003Cli>Inventory \u002F Stock filters, new product category filters, extra drop-down filters and new column sorting.\u003C\u002Fli>\n\u003Cli>Intelligent settings for easy inventory\u002Fstock management.\u003C\u002Fli>\n\u003Cli>Advanced WooCommerce inventory controlling and monitoring features.\u003C\u002Fli>\n\u003Cli>Faultless approach to all product types, including WooCommerce subscriptions.\u003C\u002Fli>\n\u003Cli>Full support for WooCommerce variable products.\u003C\u002Fli>\n\u003Cli>Bulk product Actions to activate or deactivate WooCommerce stock management at product level.\u003C\u002Fli>\n\u003Cli>Bulk Actions within Stock Central to Control\u002FUncontrol products in bulk.\u003C\u002Fli>\n\u003Cli>Full inventory PDF export directly from Stock Central.\u003C\u002Fli>\n\u003Cli>Complete WPML compatibility for all WooCommerce inventory.\u003C\u002Fli>\n\u003Cli>Clear, effective, and branded ATUM fields.\u003C\u002Fli>\n\u003Cli>See inventory count totals for selected products.\u003C\u002Fli>\n\u003Cli>Complete location hierarchy tracking.\u003C\u002Fli>\n\u003Cli>URL hash navigation for filters in Stock Central.\u003C\u002Fli>\n\u003Cli>Navigating through filters history with the browser’s back\u002Fforward buttons.\u003C\u002Fli>\n\u003Cli>Easy page reload without losing filters.\u003C\u002Fli>\n\u003Cli>Sticky header in Stock Central to stay always in control even when scrolling through hundreds of WooCommerce products.\u003C\u002Fli>\n\u003Cli>WooCommerce business statistics of revenue and product sales. The user can filter the performance per period and choose from three graphical views.\u003C\u002Fli>\n\u003Cli>Widgets for Sales, Lost Sales, Orders, and Promo Sales.\u003C\u002Fli>\n\u003Cli>Stock Control Widget for a better WooCommerce summary of In Stock, Low Stock, and Out of Stock Products.\u003C\u002Fli>\n\u003Cli>Latest News – direct link to our new blog where we discuss functions and new features coming to ATUM.\u003C\u002Fli>\n\u003Cli>Full feed of our YouTube channel and video Tutorials that can be viewed directly in your WP admin.\u003C\u002Fli>\n\u003Cli>Build for unlimited widget additions. Our team will develop widgets for every feature, so the user has the full freedom.\u003C\u002Fli>\n\u003Cli>Inventory logs now allow you to increase or reduce WooCommerce stock.\u003C\u002Fli>\n\u003Cli>Product Locations feature lets you create several storage locations per item.\u003C\u002Fli>\n\u003Cli>Location hierarchy available too – create custom storage places within a location.\u003C\u002Fli>\n\u003Cli>Add Suppliers feature – add new suppliers and save their data for more natural inventory management and ordering.\u003C\u002Fli>\n\u003Cli>Set default and assign users or locations to individual suppliers.\u003C\u002Fli>\n\u003Cli>Pair products with suppliers for quick selling stock re-ordering.\u003C\u002Fli>\n\u003Cli>Set different suppliers to each variation.\u003C\u002Fli>\n\u003Cli>Add decimals to your WooCommerce stock quantities.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Purchase orders with PDF export\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add Purchase Orders – create purchase orders for your sellable WooCommerce inventory.\u003C\u002Fli>\n\u003Cli>Easy Supplier locking feature – a quick search for products has never been easier.\u003C\u002Fli>\n\u003Cli>Add products to stock when you receive them at storage locations. Be notified if another user has already stocked selected WooCommerce products.\u003C\u002Fli>\n\u003Cli>Purchase Order notes to control the change log of each PO.\u003C\u002Fli>\n\u003Cli>Add Purchase Prices – add individual purchase prices and prepare your shop for monitoring of your gross profits.\u003C\u002Fli>\n\u003Cli>Purchase prices can be attached to the Purchase Orders directly. No need to jump back to product edit.\u003C\u002Fli>\n\u003Cli>Inbound Stock overview – keep an eye on all your inbound WooCommerce products.\u003C\u002Fli>\n\u003Cli>Pending incoming stock reflects in Stock Central.\u003C\u002Fli>\n\u003Cli>Direct Purchase Order editing from the inbound stock page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Every user may create an account on our website \u003Ca href=\"https:\u002F\u002Fstockmanagementlabs.com\" title=\"Stock Management Labs\" rel=\"nofollow ugc\">stockmanagementlabs.com\u003C\u002Fa>. To get the most out of ATUM\u003C\u002Fstrong>\u003C\u002Fp>\n","WooCommerce Full Inventory Management, Purchase Orders, Suppliers, Inbound Stock, Inventory Logs, WooCommerce Sales Statistics, and More.",10000,1144296,94,127,"2026-03-30T06:11:00.000Z","6.9.4","5.9","7.4",[76,77,78,79,80],"inbound-stock","inventory-logs","purchase-orders","suppliers","woocommerce-stock-management","https:\u002F\u002Fstockmanagementlabs.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fatum-stock-manager-for-woocommerce.1.9.55.zip",100,"2026-04-16T10:56:18.058Z",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":96,"last_updated":97,"tested_up_to":98,"requires_at_least":99,"requires_php":74,"tags":100,"homepage":102,"download_link":103,"security_score":83,"vuln_count":13,"unpatched_count":13,"last_vuln_date":37,"fetched_at":84},"purchase-orders-for-woocommerce","Purchase Orders for WooCommerce","1.12.2","mcgregormedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fmcgregormedia\u002F","\u003Cp>Adds a Purchase Order payment method to WooCommerce.\u003C\u002Fp>\n\u003Cp>Select if the order is to be Pending, On Hold or Processing after checkout. The gateway will ask for the purchase order number – select whether to also display text boxes for name and address of the company to be invoiced, and whether any of those are required fields. Don’t forget to mark a field as not required if it’s not to be displayed or your customer will not be able to check out!\u003C\u002Fp>\n\u003Cp>The purchase order details will be displayed in the admin order screen, the customer order received screen and both admin and customer order emails.\u003C\u002Fp>\n\u003Ch4>WooCommerce compatibility\u003C\u002Fh4>\n\u003Cp>This plugin is compatible with WooCommerce 3.x, 4.x, 5.x, 6.x, 7.x, 8.x, 9.x and 10.x versions.\u003C\u002Fp>\n\u003Ch4>HPOS compatibility\u003C\u002Fh4>\n\u003Cp>This plugin is compatible with WooCommerce High Performance Order Storage (HPOS) and WordPress posts storage (legacy).\u003C\u002Fp>\n\u003Ch4>Checkout Blocks Compatibility\u003C\u002Fh4>\n\u003Cp>This plugin is not yet compatible with checkout blocks.\u003C\u002Fp>\n\u003Ch4>Compatibility with other plugins\u003C\u002Fh4>\n\u003Cp>Some invoicing plugins require the meta keys of purchase order data to display this data on invoices. The meta keys used in this plugin are listed below:\u003C\u002Fp>\n\u003Cp>_purchase_order_number\u003Cbr \u002F>\n_purchase_order_company_name\u003Cbr \u002F>\n_purchase_order_address1\u003Cbr \u002F>\n_purchase_order_address2\u003Cbr \u002F>\n_purchase_order_address3\u003Cbr \u002F>\n_purchase_order_town\u003Cbr \u002F>\n_purchase_order_county\u003Cbr \u002F>\n_purchase_order_postcode\u003Cbr \u002F>\n_purchase_order_email\u003C\u002Fp>\n\u003Ch4>Order status\u003C\u002Fh4>\n\u003Cp>Select the order status to apply to the order to when a customer checks out using a Purchase Order. All order statuses are available for selection including any custom statuses that may have been added. Be aware that if you set the status to Pending, neither you nor the customer will receive an order email after checkout – this is standard WooCommerce functionality. By default, order emails will be sent when a status is changed from Pending to On Hold or Processing.\u003C\u002Fp>\n\u003Ch4>Custom fields\u003C\u002Fh4>\n\u003Cp>You can add your own fields to the frontend checkout form by adding custom HTML to the action hook in the PO checkout form:\u003C\u002Fp>\n\u003Cp>pofwc_form_after_po_form\u003C\u002Fp>\n\u003Cp>To add a text input field after the PO number field, the code should look something like this:\u003C\u002Fp>\n\u003Cp>function custom_checkout_field_after_po_form() {\u003C\u002Fp>\n\u003Cpre>\u003Ccode>echo '\u003Cp class=\"form-row form-row-wide\">';\n    echo '\u003Clabel for=\"YOUR-FIELD-ID\">YOUR FIELD LABEL TEXT\u003C\u002Flabel>';\n    echo '\u003Cinput type=\"text\" id=\"YOUR-FIELD-ID\" name=\"YOUR_FIELD_NAME\" class=\"input-text\" placeholder=\"YOUR FIELD PLACEHOLDER\">';\necho '\u003C\u002Fp>';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>}\u003Cbr \u002F>\nadd_action( ‘pofwc_form_after_po_form’, ‘custom_checkout_field_after_po_form’ );\u003C\u002Fp>\n\u003Cp>You can of course change the form HTML to output a different field type such as a \u003Ccode>select\u003C\u002Fcode> dropdown or \u003Ccode>textarea\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>To save your custom field, hook into the woocommerce_checkout_update_order_meta action as in the example below:\u003C\u002Fp>\n\u003Cp>function custom_checkout_field_update_order_meta( $order_id ) {\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$order = wc_get_order( $order_id );\n\nif ( ! empty( $_POST['YOUR_FIELD_NAME'] ) ) {\n    $order->update_meta_data( 'YOUR_FIELD_NAME', sanitize_text_field( $_POST['YOUR_FIELD_NAME'] ) );\n}\n\n$order->save();\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>}\u003Cbr \u002F>\nadd_action( ‘woocommerce_checkout_update_order_meta’, ‘custom_checkout_field_update_order_meta’, 10, 1 );\u003C\u002Fp>\n\u003Cp>There are four places the PO data can be displayed: the order thank you page, the order emails, the customer order history, and the admin Edit Order screen. To display your custom field data, use one of the following action hooks to add your data in the required place:\u003C\u002Fp>\n\u003Cp>pofwc_thankyou_display_after_po_form\u003Cbr \u002F>\npofwc_email_display_after_po_form\u003Cbr \u002F>\npofwc_account_display_after_po_form\u003Cbr \u002F>\npofwc_admin_display_after_po_form\u003C\u002Fp>\n\u003Cp>To output your example text input from above in the checkout thank you page, the Edit Order screen and customer order history, the code should look something like this:\u003C\u002Fp>\n\u003Cp>function display_custom_order_data_after_po_form( $order ) {\u003C\u002Fp>\n\u003Cpre>\u003Ccode>echo ( $order->get_meta( 'YOUR_FIELD_NAME', true ) ) ? esc_html( $order->get_meta( 'YOUR_FIELD_NAME', true ) ) . '\u003Cbr>' : '';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>}\u003Cbr \u002F>\nadd_action( ‘pofwc_thankyou_display_after_po_form’, ‘display_custom_order_data_after_po_form’, 10, 1 );\u003Cbr \u002F>\nadd_action( ‘pofwc_account_display_after_po_form’, ‘display_custom_order_data_after_po_form’, 10, 1 );\u003Cbr \u002F>\nadd_action( ‘pofwc_admin_display_after_po_form’, ‘display_custom_order_data_after_po_form’, 10, 1 );\u003C\u002Fp>\n\u003Cp>Displaying the data in the emails is slightly different as data escaping is done later in the output process:\u003C\u002Fp>\n\u003Cp>function display_email_custom_order_data_after_po_form( $order ) {\u003C\u002Fp>\n\u003Cpre>\u003Ccode>echo $order->get_meta( 'YOUR_FIELD_NAME', true ) ? $order->get_meta( 'YOUR_FIELD_NAME', true ) : '';\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>}\u003Cbr \u002F>\nadd_action( ‘pofwc_email_display_after_po_form’, ‘display_email_custom_order_data_after_po_form’, 10, 1 );\u003C\u002Fp>\n\u003Cp>This code all goes in your functions.php file in your child theme – don’t place this code in a parent theme (unless it’s one you maintain yourself) as it will be overwritten when the theme is updated.\u003C\u002Fp>\n\u003Ch4>GDPR information\u003C\u002Fh4>\n\u003Cp>This plugin will gather and store a company’s name, address and\u002For email address. This could also be construed as an individual’s personal data. However, as the user has opted to pay by this method, it is suggested that the lawful basis for processing this data is contractual necessity. Processing is necessary in order to send the invoice to the user or user’s representative. This data is stored as standard postmeta data and will be retained until the order is permanently deleted (not trashed).\u003C\u002Fp>\n\u003Ch4>Roadmap\u003C\u002Fh4>\n\u003Cp>The ability to add and edit purchase order data in the Add\u002FEdit Order screen was introduced in version 1.12.0 but due to it causing fatal errors on some users’ sites, it was removed in version 1.12.2. It is still in the roadmap to add, as is compatibility with the Gutemnberg checkout block. No timeline exists for this as yet however.\u003C\u002Fp>\n","Adds a Purchase Order payment method to WooCommerce.",1000,29872,84,5,"2025-11-11T23:15:00.000Z","6.8.5","4.8",[101,20,23],"payment-gateway","https:\u002F\u002Fmcgregormedia.co.uk","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpurchase-orders-for-woocommerce.1.12.2.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":26,"num_ratings":114,"last_updated":115,"tested_up_to":72,"requires_at_least":116,"requires_php":117,"tags":118,"homepage":124,"download_link":125,"security_score":126,"vuln_count":96,"unpatched_count":13,"last_vuln_date":127,"fetched_at":84},"admin-and-client-message-after-order-for-woocommerce","Admin and Customer Messages After Order for WooCommerce: OrderConvo","15.0","N-Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fnmedia\u002F","\u003Cp>OrderConvo is a lightweight and efficient WooCommerce plugin that allows vendors and customers to exchange messages after an order is placed. Both admin\u002Fvendors and customers can send messages or files related to the order. Customers can access the OrderConvo message box from \u003Ccode>My Account -> Orders\u003C\u002Fcode>, where each order has its own messaging area. The plugin adds a responsive, AJAX-powered message box on the order details page, ensuring compatibility with all WooCommerce themes.\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fvimeo.com\u002F288485898\" rel=\"nofollow ugc\">Watch the Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Live Demo Instructions\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fnajeebmedia.com\u002Fwooconvo-demo\" rel=\"nofollow ugc\">Click here\u003C\u002Fa> to launch the demo.\u003Cbr \u002F>\n* Once the demo is live, navigate to \u003Cstrong>Settings > NM Demo\u003C\u002Fstrong>.\u003Cbr \u002F>\n* Click \u003Cstrong>Initialize Demo: OrderConvo\u003C\u002Fstrong> to create demo orders and products.\u003Cbr \u002F>\n* Explore the plugin’s features and functionalities.\u003Cbr \u002F>\n* \u003Cstrong>Note\u003C\u002Fstrong>: If the Messages tab (My Account > Messages) does not work, re-save the permalink settings to resolve the issue.\u003C\u002Fp>\n\u003Ch3>Free Version Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Enable communication between customers and vendors\u002Fadmins for each order.\u003C\u002Fli>\n\u003Cli>Unlimited messages per order.\u003C\u002Fli>\n\u003Cli>Customize message button labels.\u003C\u002Fli>\n\u003Cli>Customize message placeholder text.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>OrderConvo Supports Single Store and Marketplace Setups\u003C\u002Fstrong>\u003Cbr \u002F>\n* Fully compatible with single WooCommerce stores.\u003C\u002Fp>\n\u003Ch3>Marketplaces Supported\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Dokan Marketplace\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WC Product Vendors\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>MultiVendorX\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>YITH Multi-Vendor\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WCFM Marketplace\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>PRO Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Send and receive file attachments.\u003C\u002Fli>\n\u003Cli>Control file types and file size limits.\u003C\u002Fli>\n\u003Cli>Attach images with automatic thumbnail previews.\u003C\u002Fli>\n\u003Cli>Email notifications for new messages.\u003C\u002Fli>\n\u003Cli>Customize email templates using the WooCommerce Email Template Manager.\u003C\u002Fli>\n\u003Cli>New message alerts on the order page.\u003C\u002Fli>\n\u003Cli>Rich text editor for enhanced message formatting.\u003C\u002Fli>\n\u003Cli>Access to a dedicated support forum.\u003C\u002Fli>\n\u003Cli>New message notifications in the WordPress dashboard.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fnajeebmedia.com\u002Fwordpress-plugin\u002Fwooconvo-woocommerce\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Learn More About PRO\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why Use OrderConvo for Vendor-Customer Communication?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>With over 12 years of experience in WordPress and WooCommerce development, N-Media has received many requests for improved post-order communication. \u003Cstrong>OrderConvo\u003C\u002Fstrong> addresses this need, allowing for smooth communication between customers and vendors. Here’s why \u003Cstrong>OrderConvo\u003C\u002Fstrong> is a must-have for your store:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For Customers:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Customers can request changes to the delivery address or date after placing the order.\u003Cbr \u002F>\n* They can also modify order quantities or request revisions or replacements, helping avoid negative feedback.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For WooCommerce Vendors:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Vendors can provide order updates, share prototypes, or get feedback before final shipment, especially useful for digital goods or custom orders.\u003C\u002Fp>\n\u003Ch3>OrderConvo Add-ons\u003C\u002Fh3>\n\u003Cp>If the free or PRO version doesn’t fully meet your needs, check out our range of \u003Cstrong>OrderConvo Add-ons\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>OrderConvo AWS S3 Add-on\u003C\u002Fstrong>\u003Cbr \u002F>\nUpload all attachments to AWS S3 for faster and more efficient file management. Simply add your S3 credentials to get started, ideal for large file uploads.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>OrderConvo Quick Message Add-on\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate pre-saved message templates for quick replies, saving time and streamlining communication with customers.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>OrderConvo Revisions Add-on\u003C\u002Fstrong>\u003Cbr \u002F>\nAllow customers to request revisions before finalizing their orders, perfect for businesses like printing companies that need client approval on designs.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>OrderConvo Live Chat Add-on\u003C\u002Fstrong>\u003Cbr \u002F>\nEnable real-time communication between vendors and customers with an AJAX-powered live chat. Chat can be disabled when not needed to save server resources.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>OrderConvo Marketplace Add-on\u003C\u002Fstrong>\u003Cbr \u002F>\nSupports major marketplace plugins like Dokan, MultiVendorX, WCFM, YITH, and WC Product Vendors.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fnajeebmedia.com\u002Fwordpress-plugin\u002Fwooconvo-woocommerce\u002F\" rel=\"nofollow ugc\">Explore All Add-ons\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Our Top Plugins:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnajeebmedia.com\u002Fbps\" rel=\"nofollow ugc\">WooCommerce Bulk Product Sync\u003C\u002Fa> – Manage WooCommerce products using Google Sheets™.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fnajeebmedia.com\u002Fwoohero\" rel=\"nofollow ugc\">WooHero\u003C\u002Fa> – Customize WooCommerce buttons, tabs, and more without writing code.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fnajeebmedia.com\u002Fwordpress-plugins\" rel=\"nofollow ugc\">See All Plugins\u003C\u002Fa>\u003C\u002Fp>\n","OrderConvo: Enable seamless post-order communication between vendors\u002Fadmins and customers in WooCommerce.",200,40327,22,"2026-01-15T04:53:00.000Z","4.0","7.2",[119,120,121,122,123],"woocommerce-customer-vendor-chat","woocommerce-order-communication","woocommerce-order-file-attachments","woocommerce-order-messaging","woocommerce-order-notes","http:\u002F\u002Fwww.najeebmedia.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadmin-and-client-message-after-order-for-woocommerce.zip",87,"2025-11-24 19:18:04",{"slug":129,"name":130,"version":131,"author":132,"author_profile":133,"description":134,"short_description":135,"active_installs":112,"downloaded":136,"rating":83,"num_ratings":137,"last_updated":138,"tested_up_to":139,"requires_at_least":140,"requires_php":141,"tags":142,"homepage":146,"download_link":147,"security_score":83,"vuln_count":13,"unpatched_count":13,"last_vuln_date":37,"fetched_at":84},"gazchaps-woocommerce-purchase-order-payment-gateway","GazChap's WooCommerce Purchase Order Payment Gateway","3.2","gazchap","https:\u002F\u002Fprofiles.wordpress.org\u002Fgazchap\u002F","\u003Cp>This plugin adds a new offline payment gateway to WooCommerce that allows your customers to request an invoice with a Purchase Order.\u003C\u002Fp>\n\u003Cp>There are a number of options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You can set the plugin to ask the customer for a Purchase Order Number, and dictate whether this is mandatory or can be left blank.\u003C\u002Fli>\n\u003Cli>You can set the plugin to ask the customer for a postal address for the invoice.\u003C\u002Fli>\n\u003Cli>You can set the plugin to pre-fill this address with the customer’s existing billing address (if they are logged in, and have one set in WooCommerce)\u003C\u002Fli>\n\u003Cli>You can set the plugin to add supplied Purchase Order information to order notification emails\u003C\u002Fli>\n\u003Cli>You can set the plugin to add supplied Purchase Order information to order objects in the WooCommerce REST API\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When an order is received, the plugin will add all of the submitted information on to the WooCommerce View Order screen.\u003C\u002Fp>\n\u003Cp>As of version 2.0, you can also add Purchase Order information to orders created through the WooCommerce Admin screens, and edit Purchase Order information saved against an existing order.\u003C\u002Fp>\n\u003Cp>As of version 3.0, you can also add Purchase Order information to orders in the WooCommerce REST API. There are two settings to control this behaviour, allowing you to choose to add just the PO Number as well as the address if needed.\u003Cbr \u002F>\nThe two fields in the Order objects are \u003Ccode>gazchap_purchase_order_number\u003C\u002Fcode> and \u003Ccode>gazchap_purchase_order_address\u003C\u002Fcode> respectively.\u003Cbr \u002F>\nThe number is just a string, or \u003Ccode>null\u003C\u002Fcode> if no number was provided (or the payment method was not the Purchase Order gateway)\u003Cbr \u002F>\nThe address is an array of strings: \u003Ccode>contact\u003C\u002Fcode>, \u003Ccode>company\u003C\u002Fcode>, \u003Ccode>address1\u003C\u002Fcode>, \u003Ccode>address2\u003C\u002Fcode>, \u003Ccode>city\u003C\u002Fcode>, \u003Ccode>county\u003C\u002Fcode>, \u003Ccode>postcode\u003C\u002Fcode>. These fields can be null if not given.\u003C\u002Fp>\n\u003Cp>Note: This plugin does not (currently, at least) generate the actual invoices – it is only used to collect the Purchase Order information.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwoocommerce.com\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa>, at least version 3.0.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Once installed and activated, you need to enable the Payment Gateway in \u003Cem>WooCommerce > Settings > Checkout\u003C\u002Fem> (or via the plugin’s Settings link on the WordPress Plugins page) – you can then set the various options for the plugin at the same time.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>Licensed under the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">GNU General Public License v2.0\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>ljgm3nx0kwytf9opbjjzhyradusy600x\u003C\u002Fp>\n","Adds a Purchase Order offline payment gateway to WooCommerce.",6218,3,"2025-11-06T16:20:00.000Z","6.7.5","4.2.0","5.3",[143,144,145,20,23],"ecommerce","gateway","payment","https:\u002F\u002Fwww.gazchap.com\u002Fposts\u002Fwoocommerce-purchase-order-payment-gateway","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgazchaps-woocommerce-purchase-order-payment-gateway.zip",{"slug":149,"name":150,"version":151,"author":152,"author_profile":153,"description":154,"short_description":155,"active_installs":83,"downloaded":156,"rating":13,"num_ratings":13,"last_updated":157,"tested_up_to":158,"requires_at_least":158,"requires_php":158,"tags":159,"homepage":158,"download_link":163,"security_score":164,"vuln_count":13,"unpatched_count":13,"last_vuln_date":37,"fetched_at":84},"purchase-order-woocommerce-addon","Purchase Order WooCommerce Addon","1.0","syednazrulhassan","https:\u002F\u002Fprofiles.wordpress.org\u002Fnazrulhassanmca\u002F","\u003Cp>This plugin adds a purchase order in WooCommerce for customers to complete the order.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Very Simple Clean Code plugin to add a Purchase Order payment method to woocommerce\u003C\u002Fli>\n\u003Cli>No technical skills needed.\u003C\u002Fli>\n\u003Cli>Prerequisite visualized on screenshots.\u003C\u002Fli>\n\u003Cli>Adds PO Number and PO Note to Order details\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin adds a purchase order in WooCommerce for customers to complete the order.",2258,"2017-08-20T18:53:00.000Z","",[160,161,162],"purchase-order-payment-gateway","purchase-order-woocommerce","woocommerce-purchase-order","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpurchase-order-woocommerce-addon.zip",85,{"attackSurface":166,"codeSignals":199,"taintFlows":452,"riskAssessment":453,"analyzedAt":466},{"hooks":167,"ajaxHandlers":193,"restRoutes":196,"shortcodes":197,"cronEvents":198,"entryPointCount":27,"unprotectedCount":27},[168,174,177,181,187,190],{"type":169,"name":170,"callback":170,"priority":171,"file":172,"line":173},"action","admin_menu",99,"includes\\niwoopo-init.php",8,{"type":169,"name":175,"callback":175,"priority":171,"file":172,"line":176},"admin_enqueue_scripts",9,{"type":169,"name":178,"callback":179,"priority":171,"file":172,"line":180},"admin_init","niwoopo_export_init",12,{"type":182,"name":183,"callback":184,"priority":176,"file":185,"line":186},"filter","upload_dir","custome_upload_dir","includes\\niwoopo-setting.php",252,{"type":169,"name":178,"callback":178,"file":188,"line":189},"ni-purchase-order-for-woocommerce.php",27,{"type":182,"name":191,"callback":191,"priority":11,"file":188,"line":192},"plugin_action_links",29,[194],{"action":195,"nopriv":49,"callback":195,"hasNonce":49,"hasCapCheck":49,"file":172,"line":11},"niwoopo_ajax",[],[],[],{"dangerousFunctions":200,"sqlUsage":201,"outputEscaping":220,"fileOperations":202,"externalRequests":27,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":448},[],{"prepared":202,"raw":96,"locations":203},35,[204,208,212,213,217],{"file":205,"line":206,"context":207},"dompdf\\src\\Css\\Stylesheet.php",997,"$wpdb->query() with variable interpolation",{"file":209,"line":210,"context":211},"includes\\niwoopo-database.php",17,"$wpdb->get_var() with variable interpolation",{"file":209,"line":202,"context":211},{"file":214,"line":215,"context":216},"includes\\niwoopo-invoice-class.php",23,"$wpdb->get_row() with variable interpolation",{"file":214,"line":218,"context":219},81,"$wpdb->get_results() with variable interpolation",{"escaped":164,"rawEcho":221,"locations":222},115,[223,227,229,231,234,236,238,240,243,245,247,249,251,253,255,257,259,261,263,265,267,269,272,273,276,279,281,284,286,289,291,293,295,298,301,303,305,307,309,311,313,315,318,321,323,325,327,328,330,332,334,336,338,340,342,344,346,348,351,353,355,356,358,359,361,362,364,366,368,370,372,374,375,377,378,379,381,383,385,387,389,390,391,393,395,397,398,399,401,403,404,406,407,409,410,411,413,415,417,419,421,422,424,427,429,430,432,434,435,437,439,441,443,445,447],{"file":224,"line":225,"context":226},"dompdf\\src\\Adapter\\CPDF.php",251,"raw output",{"file":224,"line":228,"context":226},851,{"file":224,"line":230,"context":226},1199,{"file":232,"line":233,"context":226},"dompdf\\src\\Adapter\\PDFLib.php",1525,{"file":232,"line":235,"context":226},1535,{"file":232,"line":237,"context":226},1541,{"file":232,"line":239,"context":226},1582,{"file":241,"line":242,"context":226},"dompdf\\src\\Css\\Style.php",1118,{"file":241,"line":244,"context":226},1125,{"file":241,"line":246,"context":226},1126,{"file":241,"line":248,"context":226},1140,{"file":241,"line":250,"context":226},1839,{"file":241,"line":252,"context":226},3364,{"file":241,"line":254,"context":226},3368,{"file":241,"line":256,"context":226},3377,{"file":241,"line":258,"context":226},3383,{"file":205,"line":260,"context":226},1131,{"file":205,"line":262,"context":226},1455,{"file":205,"line":264,"context":226},1621,{"file":205,"line":266,"context":226},1627,{"file":205,"line":268,"context":226},1681,{"file":270,"line":271,"context":226},"dompdf\\src\\Dompdf.php",847,{"file":270,"line":228,"context":226},{"file":274,"line":275,"context":226},"dompdf\\src\\FrameDecorator\\Image.php",51,{"file":277,"line":278,"context":226},"dompdf\\src\\FrameReflower\\Image.php",66,{"file":277,"line":280,"context":226},161,{"file":282,"line":283,"context":226},"dompdf\\src\\Helpers.php",513,{"file":282,"line":285,"context":226},544,{"file":287,"line":288,"context":226},"dompdf\\src\\Image\\Cache.php",197,{"file":290,"line":26,"context":226},"dompdf\\src\\Renderer\\AbstractRenderer.php",{"file":290,"line":292,"context":226},433,{"file":290,"line":294,"context":226},442,{"file":296,"line":297,"context":226},"dompdf\\src\\Renderer.php",62,{"file":299,"line":300,"context":226},"includes\\niwoopo-dashboard.php",41,{"file":299,"line":302,"context":226},46,{"file":299,"line":304,"context":226},52,{"file":299,"line":306,"context":226},57,{"file":299,"line":308,"context":226},63,{"file":299,"line":310,"context":226},68,{"file":299,"line":312,"context":226},74,{"file":299,"line":314,"context":226},79,{"file":316,"line":317,"context":226},"includes\\niwoopo-function.php",431,{"file":319,"line":320,"context":226},"includes\\niwoopo-invoice-template.php",6,{"file":319,"line":322,"context":226},82,{"file":319,"line":324,"context":226},112,{"file":319,"line":326,"context":226},123,{"file":319,"line":70,"context":226},{"file":319,"line":329,"context":226},128,{"file":319,"line":331,"context":226},130,{"file":319,"line":333,"context":226},142,{"file":319,"line":335,"context":226},150,{"file":319,"line":337,"context":226},157,{"file":319,"line":339,"context":226},162,{"file":319,"line":341,"context":226},170,{"file":319,"line":343,"context":226},176,{"file":319,"line":345,"context":226},183,{"file":319,"line":347,"context":226},198,{"file":349,"line":350,"context":226},"includes\\niwoopo-manage-po.php",40,{"file":349,"line":352,"context":226},47,{"file":349,"line":354,"context":226},59,{"file":349,"line":354,"context":226},{"file":349,"line":357,"context":226},70,{"file":349,"line":357,"context":226},{"file":349,"line":360,"context":226},88,{"file":349,"line":341,"context":226},{"file":349,"line":363,"context":226},194,{"file":349,"line":365,"context":226},230,{"file":349,"line":367,"context":226},373,{"file":349,"line":369,"context":226},456,{"file":349,"line":371,"context":226},487,{"file":373,"line":192,"context":226},"includes\\niwoopo-po-list.php",{"file":373,"line":202,"context":226},{"file":373,"line":376,"context":226},42,{"file":373,"line":302,"context":226},{"file":373,"line":352,"context":226},{"file":373,"line":380,"context":226},48,{"file":373,"line":382,"context":226},49,{"file":373,"line":384,"context":226},98,{"file":373,"line":386,"context":226},105,{"file":373,"line":388,"context":226},117,{"file":373,"line":326,"context":226},{"file":373,"line":331,"context":226},{"file":373,"line":392,"context":226},137,{"file":373,"line":394,"context":226},144,{"file":373,"line":396,"context":226},151,{"file":373,"line":337,"context":226},{"file":185,"line":382,"context":226},{"file":185,"line":400,"context":226},55,{"file":185,"line":402,"context":226},61,{"file":185,"line":310,"context":226},{"file":185,"line":405,"context":226},75,{"file":185,"line":322,"context":226},{"file":185,"line":408,"context":226},89,{"file":185,"line":384,"context":226},{"file":185,"line":83,"context":226},{"file":185,"line":412,"context":226},108,{"file":185,"line":414,"context":226},110,{"file":185,"line":416,"context":226},118,{"file":185,"line":418,"context":226},125,{"file":185,"line":420,"context":226},138,{"file":185,"line":420,"context":226},{"file":185,"line":423,"context":226},268,{"file":425,"line":426,"context":226},"includes\\niwoopo-stock-report.php",113,{"file":425,"line":428,"context":226},114,{"file":425,"line":221,"context":226},{"file":425,"line":431,"context":226},116,{"file":425,"line":433,"context":226},169,{"file":425,"line":343,"context":226},{"file":425,"line":436,"context":226},190,{"file":425,"line":438,"context":226},196,{"file":425,"line":440,"context":226},203,{"file":425,"line":442,"context":226},210,{"file":425,"line":444,"context":226},217,{"file":425,"line":446,"context":226},224,{"file":425,"line":365,"context":226},[449],{"name":450,"version":37,"knownCves":451},"dompdf",[],[],{"summary":454,"deductions":455},"The \"ni-purchase-orderpo-for-woocommerce\" plugin version 1.2.3 exhibits several security concerns that warrant attention. While the plugin does utilize prepared statements for a majority of its SQL queries and has a history of only low-severity vulnerabilities, the static analysis reveals significant weaknesses.  The presence of an unprotected AJAX handler represents a critical entry point that could be exploited by unauthenticated users, leading to potential unauthorized actions or data manipulation.\n\nFurthermore, the low percentage of properly escaped output (43%) suggests a risk of Cross-Site Scripting (XSS) vulnerabilities, as user-supplied data might be rendered directly in the browser without proper sanitization. The lack of nonce and capability checks on its single entry point is a major concern, directly contributing to the unprotected attack surface. While no critical or high-severity taint flows were detected, the combination of unprotected entry points and insufficient output escaping presents a notable security risk.\n\nThe plugin's vulnerability history shows a single low-severity \"Unrestricted Upload of File with Dangerous Type\" vulnerability in late 2023, which is now patched. This indicates that while the developers have addressed past issues, the current version still carries inherent risks due to its static analysis findings. The overall security posture is mixed, with some good practices in SQL handling but significant gaps in input validation and authorization for its AJAX endpoint.",[456,458,460,462,464],{"reason":457,"points":11},"Unprotected AJAX handler (1 without auth checks)",{"reason":459,"points":173},"Low percentage of properly escaped output (43%)",{"reason":461,"points":96},"No nonce checks on entry points",{"reason":463,"points":96},"No capability checks on entry points",{"reason":465,"points":137},"Bundled outdated library: dompdf","2026-03-17T01:01:42.685Z",{"wat":468,"direct":481},{"assetPaths":469,"generatorPatterns":474,"scriptPaths":475,"versionParams":476},[470,471,472,473],"\u002Fwp-content\u002Fplugins\u002Fni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fcss\u002Fadmin-style.css","\u002Fwp-content\u002Fplugins\u002Fni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fjs\u002Fadmin-script.js","\u002Fwp-content\u002Fplugins\u002Fni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fjs\u002Ffrontend.js",[],[471,473],[477,478,479,480],"ni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fcss\u002Fadmin-style.css?ver=","ni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fjs\u002Fadmin-script.js?ver=","ni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","ni-purchase-orderpo-for-woocommerce\u002Fassets\u002Fjs\u002Ffrontend.js?ver=",{"cssClasses":482,"htmlComments":490,"htmlAttributes":491,"restEndpoints":495,"jsGlobals":496,"shortcodeOutput":500},[483,484,485,486,487,488,489],"niwoopo_title","niwoopo_submit","niwoopo_btn","niwoopo_btn_pdf","niwoopo_btn_print","niwoopo_invoice_template_wrapper","niwoopo_page_wrapper",[],[492,493,494],"data-prefix=\"niwoopo\"","data-manage_options=\"manage_options\"","data-menu=\"niwoopo-dashboard\"",[],[497,498,499],"niwoopo_ajax_data","niwooims_ajax_data","NiWooPO_Init",[],{"error":502,"url":503,"statusCode":504,"statusMessage":505,"message":505},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fni-purchase-orderpo-for-woocommerce\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":27,"versions":507},[508],{"version":6,"download_url":25,"svn_tag_url":509,"released_at":37,"has_diff":49,"diff_files_changed":510,"diff_lines":37,"trac_diff_url":37,"vulnerabilities":511,"is_current":502},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fni-purchase-orderpo-for-woocommerce\u002Ftags\u002F1.2.3\u002F",[],[]]