{"id":348030,"date":"2026-08-29T14:26:48","date_gmt":"2026-08-29T14:26:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/live-order-alerts-for-woocommerce\/"},"modified":"2026-08-29T14:26:31","modified_gmt":"2026-08-29T14:26:31","slug":"orderflash-adev-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/orderflash-adev-for-woocommerce\/","author":23055830,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.2","stable_tag":"1.4.2","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"OrderFlash for WooCommerce","header_author":"Adel Abobaker","header_description":"Near real-time WooCommerce order alerts, desktop notifications, quick admin previews, and signed printable invoices.","assets_banners_color":"061048","last_updated":"2026-08-29 14:26:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/adev.wpify.site\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.2":{"tag":"1.4.2","author":"adelabobaker","date":"2026-08-29 14:26:31","revision":3671626}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3671622,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3671622,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3671622,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3671622,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3671622,"resolution":"1","location":"assets","locale":"","width":1672,"height":941},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3671622,"resolution":"2","location":"assets","locale":"","width":1672,"height":941},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3671622,"resolution":"3","location":"assets","locale":"","width":1672,"height":941},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3671622,"resolution":"4","location":"assets","locale":"","width":1672,"height":941}},"screenshots":{"1":"OrderFlash settings dashboard with plugin configuration panels.","2":"Recent WooCommerce orders panel with search and status filters.","3":"Accessible dark order details preview modal.","4":"Signed printable invoice page with clean customer and order layout."}},"plugin_section":[],"plugin_tags":[47082,16236,212469,38803,286],"plugin_category":[45],"plugin_contributors":[278198],"plugin_business_model":[],"class_list":["post-348030","plugin","type-plugin","status-publish","hentry","plugin_tags-desktop-notifications","plugin_tags-invoices","plugin_tags-order-alerts","plugin_tags-order-notifications","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-adelabobaker","plugin_committers-adelabobaker"],"banners":{"banner":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/banner-772x250.png?rev=3671622","banner_2x":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/banner-1544x500.png?rev=3671622","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/icon-128x128.png?rev=3671622","icon_2x":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/icon-256x256.png?rev=3671622","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/screenshot-1.png?rev=3671622","caption":"OrderFlash settings dashboard with plugin configuration panels."},{"src":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/screenshot-2.png?rev=3671622","caption":"Recent WooCommerce orders panel with search and status filters."},{"src":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/screenshot-3.png?rev=3671622","caption":"Accessible dark order details preview modal."},{"src":"https:\/\/ps.w.org\/orderflash-adev-for-woocommerce\/assets\/screenshot-4.png?rev=3671622","caption":"Signed printable invoice page with clean customer and order layout."}],"raw_content":"<!--section=description-->\n<p>OrderFlash for WooCommerce helps store teams notice new orders without repeatedly refreshing the WooCommerce orders screen.<\/p>\n\n<p>OrderFlash is an independent plugin and is not affiliated with or endorsed by WooCommerce.<\/p>\n\n<p>The plugin adds a floating order panel inside WordPress admin. It checks for new order events at a configurable interval, shows recent orders, and can display browser desktop notifications and an optional sound. Authorized users can open a detailed preview, search orders, filter by configured statuses, navigate paginated results, and keep personal read or unread states.<\/p>\n\n<p>The plugin uses WooCommerce CRUD APIs and supports High-Performance Order Storage (HPOS). Customer and order data stays on the WordPress site. No tracking, telemetry, remote scripts, external fonts, or third-party data services are used.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.5 or newer.<\/li>\n<li>PHP 7.4 or newer.<\/li>\n<li>WooCommerce 8.5 or newer.<\/li>\n<\/ul>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Near real-time polling-based alerts for new WooCommerce orders.<\/li>\n<li>Floating recent-orders panel inside WordPress admin.<\/li>\n<li>Browser desktop notifications and optional sound alerts.<\/li>\n<li>Responsive HTML new-order emails for the site administrator.<\/li>\n<li>Per-user read and unread order states.<\/li>\n<li>Server-side search, status filtering, minimum-total filtering, and pagination.<\/li>\n<li>Quick order previews with products, quantities, prices, billing, shipping, notes, and bounded additional fields.<\/li>\n<li>Quick order-status updates and one-click billing or shipping address copying.<\/li>\n<li>Signed, expiring printable invoice links.<\/li>\n<li>Custom invoice logo, store address, accent color, VAT details, and print-section controls.<\/li>\n<li>Responsive order cards and product tables for desktop, tablet, and mobile.<\/li>\n<li>WooCommerce CRUD and HPOS compatibility.<\/li>\n<li>LTR and RTL interface support.<\/li>\n<li>Configurable event retention and uninstall cleanup.<\/li>\n<\/ul>\n\n<h3>How It Works<\/h3>\n\n<ol>\n<li>WooCommerce order hooks create small event records in a plugin-owned database table.<\/li>\n<li>The admin interface polls the event endpoint at the configured interval.<\/li>\n<li>New events refresh the order list and can trigger desktop and sound notifications.<\/li>\n<li>Order summaries are loaded separately from full order details to keep list responses smaller.<\/li>\n<li>Read states are stored per WordPress user.<\/li>\n<\/ol>\n\n<h3>Use Cases<\/h3>\n\n<ul>\n<li>Store managers who need a visible new-order alert while working elsewhere in WordPress admin.<\/li>\n<li>Fulfillment teams that need a quick order preview before opening the full order screen.<\/li>\n<li>Shops that want browser notifications without sending customer data to another service.<\/li>\n<li>Administrators who need short-lived printable invoice links for customer communication.<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin reads WooCommerce order and customer information only to display it to authorized WordPress users or through a valid signed invoice link.<\/p>\n\n<p>It stores lightweight event records in a custom database table and per-user read order IDs in WordPress user metadata. It does not send customer data to a third party and does not include tracking or telemetry.<\/p>\n\n<p>Signed invoice links contain an order ID, expiry timestamp, and HMAC signature. They are marked noindex and returned with no-store and anti-framing headers.<\/p>\n\n<h3>Data Storage<\/h3>\n\n<ul>\n<li>Custom table: <code>{prefix}orderflash_adev_events<\/code>.<\/li>\n<li>Event data: order ID, event type, order status, source, UTC creation time, and a small internal JSON payload.<\/li>\n<li>Default retention: 14 days, configurable from 1 to 90 days.<\/li>\n<li>User meta: <code>_orderflash_adev_read_order_ids<\/code>, capped at 500 positive order IDs per user.<\/li>\n<li>Option: <code>orderflash_adev_settings<\/code> stores plugin configuration.<\/li>\n<li>Options: schema, plugin, and event-cache versions support safe upgrades.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin does not connect to external services. It loads no remote JavaScript, fonts, stylesheets, update checkers, tracking endpoints, or telemetry services.<\/p>\n\n<h3>Bundled Third-Party Assets<\/h3>\n\n<ul>\n<li>Cairo variable font subsets are bundled in <code>assets\/fonts\/cairo\/<\/code>. Cairo is licensed under the SIL Open Font License 1.1. The license and source reference are included with the font files.<\/li>\n<li>A targeted subset of Font Awesome Free 7.2.0 solid SVG icons is bundled in <code>assets\/vendor\/font-awesome\/<\/code>. Icons are licensed under CC BY 4.0 and the supporting CSS is licensed under MIT. The upstream license is included in that directory.<\/li>\n<\/ul>\n\n<p>These files are served only from the plugin directory. The plugin does not contact Google Fonts, Font Awesome, or a CDN at runtime.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP through Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Make sure WooCommerce is active.<\/li>\n<li>Open WooCommerce &gt; OrderFlash.<\/li>\n<li>Configure display location, order statuses, polling, notifications, previews, invoices, and data retention.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20support%20hpos%3F\"><h3>Does the plugin support HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares HPOS compatibility and uses WooCommerce order CRUD and query APIs instead of directly querying order posts.<\/p><\/dd>\n<dt id=\"does%20it%20create%20a%20real%20pdf%20file%3F\"><h3>Does it create a real PDF file?<\/h3><\/dt>\n<dd><p>No PDF library is included. The plugin creates a printable invoice page. The browser print dialog can save that page as a PDF.<\/p><\/dd>\n<dt id=\"are%20customer%20details%20sent%20to%20an%20external%20service%3F\"><h3>Are customer details sent to an external service?<\/h3><\/dt>\n<dd><p>No. Customer and order details remain on the WordPress site. The plugin does not include tracking, telemetry, or a remote data service.<\/p><\/dd>\n<dt id=\"who%20can%20view%20order%20details%3F\"><h3>Who can view order details?<\/h3><\/dt>\n<dd><p>Administrators and shop managers receive the plugin capabilities by default. Access also follows WooCommerce order-management capabilities, including object-level access to the requested order. WordPress role-management tools can further adjust those capabilities.<\/p><\/dd>\n<dt id=\"how%20often%20does%20the%20plugin%20check%20for%20new%20orders%3F\"><h3>How often does the plugin check for new orders?<\/h3><\/dt>\n<dd><p>The interval is configurable from 10 to 300 seconds. Polling maintains the configured interval in background tabs and uses bounded backoff after network failures.<\/p><\/dd>\n<dt id=\"where%20are%20read%20states%20stored%3F\"><h3>Where are read states stored?<\/h3><\/dt>\n<dd><p>Up to 500 read order IDs are stored in the <code>_orderflash_adev_read_order_ids<\/code> user-meta key for each authorized user.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20plugin%20is%20deactivated%3F\"><h3>What happens when the plugin is deactivated?<\/h3><\/dt>\n<dd><p>The cleanup schedule is removed. Settings, events, and read states are retained so they are available after reactivation.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20plugin%20is%20uninstalled%3F\"><h3>What happens when the plugin is uninstalled?<\/h3><\/dt>\n<dd><p>Operational capabilities and scheduled hooks are always removed. Settings, the event table, and read states are deleted only when the delete-data setting was enabled before uninstalling.<\/p><\/dd>\n<dt id=\"can%20the%20notification%20sound%20be%20disabled%3F\"><h3>Can the notification sound be disabled?<\/h3><\/dt>\n<dd><p>Yes. Sound alerts and their volume can be configured independently from desktop notifications.<\/p><\/dd>\n<dt id=\"why%20does%20the%20browser%20ask%20me%20to%20enable%20sound%3F\"><h3>Why does the browser ask me to enable sound?<\/h3><\/dt>\n<dd><p>Modern browsers can block media playback until a user interacts with the page. Click Enable sound once in the alerts panel to authorize the bundled notification sound for the current browser session.<\/p><\/dd>\n<dt id=\"are%20invoice%20links%20public%3F\"><h3>Are invoice links public?<\/h3><\/dt>\n<dd><p>A generated invoice link is signed and expires after the configured period. Anyone who has a valid link can open it until it expires, so share it carefully. It is not password protected.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Updated the WordPress.org Tested up to metadata to WordPress 7.1 for the current directory submission requirements.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Refined the settings-page layout into balanced independent columns to prevent large empty grid gaps.<\/li>\n<li>Improved order-status controls with a responsive internal grid while preserving all existing settings and behavior.<\/li>\n<li>Improved settings-page spacing, responsive ordering, navigation, cards, and save-area presentation.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Aligned the WordPress.org plugin folder, main bootstrap filename, text domain, REST namespace, translation metadata, and internal package identity with the assigned <code>orderflash-adev-for-woocommerce<\/code> slug.<\/li>\n<li>Replaced generic runtime prefixes with the distinctive <code>ORDERFLASH_ADEV<\/code> \/ <code>orderflash_adev<\/code> prefix across classes, functions, constants, capabilities, options, database identifiers, user meta, hooks, asset handles, DOM selectors, and cache identifiers.<\/li>\n<li>Added object-level authorization for private order details, order-status changes, and signed invoice-link generation so users must be able to edit the exact requested order.<\/li>\n<li>Hardened REST validation so integer, list, status, email, search, and sorting inputs reject malformed or coercible values instead of relying on schema metadata alone.<\/li>\n<li>Fixed minimum-order-total filtering across both HPOS and legacy WooCommerce order storage while keeping pagination server-side.<\/li>\n<li>Hardened signed invoice request parsing and kept the expiring HMAC link as the exact public authorization mechanism.<\/li>\n<li>Prefixed both persistent object-cache groups and cache keys to avoid collisions with other plugins.<\/li>\n<li>Deferred local admin and invoice scripts to reduce render blocking without loading any remote resources.<\/li>\n<li>Removed version-control and internal review files from the distributable package.<\/li>\n<li>Re-audited compatibility-sensitive order queries and kept the published tested-version metadata conservative until full clean-install runtime verification.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Rebranded the plugin display name as OrderFlash for WooCommerce.<\/li>\n<li>Removed manual translation loading so WordPress.org language packs load automatically.<\/li>\n<li>Strengthened direct-access guards and prepared the production package for directory review.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Added native browser notifications with local plugin artwork for new orders while admin tabs are inactive.<\/li>\n<li>Kept background polling at the configured cadence and added immediate catch-up checks when a tab becomes active or reconnects.<\/li>\n<li>Added production WordPress.org icon and banner artwork featuring the golden live-order bell.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fixed live order detection with race-free REST event polling and automatic nonce renewal.<\/li>\n<li>Added immediate modal updates, unread badge increments, and bell animation for newly detected orders.<\/li>\n<li>Added Store API checkout event coverage for WooCommerce block-based checkout.<\/li>\n<li>Made the notification bell available on all WordPress admin pages by default.<\/li>\n<li>Changed the default polling interval to 15 seconds and allowed configuration from 10 to 300 seconds.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Bundled Cairo variable WOFF2 subsets locally and removed the Google Fonts request.<\/li>\n<li>Added a lightweight local Font Awesome SVG subset with complete upstream licensing.<\/li>\n<li>Added cohesive icons to the WooCommerce submenu, settings navigation, panel, modal, actions, status badges, and printable invoice.<\/li>\n<li>Moved the full printable invoice layout from inline PHP into a cacheable stylesheet.<\/li>\n<li>Strengthened order-status mutation authorization with the WooCommerce order-edit capability.<\/li>\n<li>Added WPCS, PHP compatibility, PHPUnit integration, JavaScript syntax, and static asset\/security audit tooling.<\/li>\n<li>Improved responsive settings navigation and repaired asset versioning for production and debug modes.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Limited the premium metallic-gold treatment to the notification bell glyph while preserving the original trigger-button theme.<\/li>\n<li>Moved printable-invoice CSS and JavaScript into registered plugin assets.<\/li>\n<li>Removed the deprecated clipboard command fallback and completed a strict security and standards audit.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added responsive HTML new-order emails using the configured store logo.<\/li>\n<li>Added secure test-email and sandboxed live email-preview tools.<\/li>\n<li>Added an instant order-status selector to the Order Details modal.<\/li>\n<li>Added one-click copy controls for Billing and Shipping addresses.<\/li>\n<li>Added a premium three-dimensional gold notification bell and repositioned counter badge.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed the Store Logo settings-page fatal error caused by an unavailable admin helper.<\/li>\n<li>Added a bundled new-order sound and a browser autoplay recovery control.<\/li>\n<li>Strengthened printed invoice URL suppression and print-page rules.<\/li>\n<li>Required WooCommerce management permission in addition to plugin-specific REST capabilities.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added custom invoice logo and store address branding.<\/li>\n<li>Added printable invoice controls for customer notes, product SKUs, and VAT or tax details.<\/li>\n<li>Prevented signed invoice query parameters and link URLs from appearing in printed output.<\/li>\n<li>Improved invoice pagination and prevented product rows from splitting across printed pages.<\/li>\n<li>Reworked order-detail product tables into compact desktop tables and mobile-friendly stacked cards.<\/li>\n<li>Improved responsive behavior for the alerts panel, search controls, order cards, modal, settings, and invoice.<\/li>\n<li>Explicitly loaded the plugin text domain and regenerated the translation template.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed encoded currency symbols in order summaries, line items, and totals.<\/li>\n<li>Fixed printable invoice links when browsers enforce popup blocking.<\/li>\n<li>Made the Products section full-width and moved Billing and Shipping below it.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed Order Details scrolling across desktop, mobile, and nested WordPress admin layouts.<\/li>\n<li>Moved modal scrolling to the dedicated content region and improved touch scrolling.<\/li>\n<li>Prevented the modal's own ancestor from being made inert.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org-ready release.<\/li>\n<li>Added polling-based new-order events, desktop notifications, and optional sound.<\/li>\n<li>Added compact order summaries, server-side search and filters, and accurate pagination.<\/li>\n<li>Added per-user batched read states.<\/li>\n<li>Added safe detailed order previews and bounded additional fields.<\/li>\n<li>Added signed, expiring printable invoice links with privacy headers.<\/li>\n<li>Added HPOS compatibility, RTL support, translations, migrations, caching, and cleanup controls.<\/li>\n<\/ul>","raw_excerpt":"Get near real-time WooCommerce order alerts, desktop notifications, quick admin previews, and signed printable invoices.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/348030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=348030"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adelabobaker"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=348030"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=348030"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=348030"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=348030"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=348030"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=348030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}