Documentation for version 1.0.2. Sticky add-to-cart bar with Buy Now, plus CSV/XLSX order and customer exports for WooCommerce.
quickcart-export-1.0.2.zip in Plugins > Add New > Upload Plugin and activate it.On single product pages (simple and variable products) the bar appears once the main Add to cart button scrolls out of view. Choose top or bottom per device, hide it on mobile or desktop, and pick the elements: image, title, price, stock, variation dropdowns (kept in sync with the main form), quantity, Add to cart and Buy Now. Add to cart runs over AJAX and refreshes the mini-cart.
Rules: only in selected categories, hide for product types, hide when out of stock. Each product has a QuickCart Export box to disable the bar or Buy Now, or set a custom Buy Now label.
Buy Now adds the product and sends the shopper to checkout (classic or block checkout), the cart or a custom URL. It appears next to the product form button (before or after), in the sticky bar, and through the shortcode [ajqce_buy_now id="123" qty="1" label=""].
Empty the cart first: when enabled, the current cart is set aside, the Buy Now product is added, and the other items are removed only after the add succeeded. If the add fails (out of stock, no variation chosen, a validation rule from another plugin) the original cart is restored unchanged and the WooCommerce error message is shown.
Colours for the bar and both buttons, button radius, font size, shadow, z-index, bar height, top/bottom offsets (for sticky headers or chat widgets), inherit theme button styles, and custom CSS. A live preview is shown in the tab.
Create saved profiles for orders (one row per order or per line item) or customers (registered customers and, optionally, guests grouped by billing email). Pick, rename and reorder columns, including order, item and user meta. Filter by date range and date field, statuses, products, categories, customer and minimum total. Output CSV (delimiter, optional BOM) or XLSX, with a file name pattern using {type}, {date} and {profile}. Use Preview to see the first rows.
Run now exports in batches of 200 with a progress bar and then downloads the file.
Spreadsheet formula injection is neutralised (cells starting with =, +, -, @ are prefixed).
On the orders list (HPOS or legacy) choose Bulk actions > Export selected (profile). The export runs in the background in batches through Action Scheduler (bundled with WooCommerce), so large selections do not time out. A notice shows progress on any admin page; when it finishes it shows a Download link, and if it fails it shows the reason. If WP-Cron is not running, the open admin page continues the export itself one batch at a time.
Schedule a profile daily, weekly or monthly at a time in your site time zone. The period can be since last run, yesterday, the previous week, the previous month, or the profile filters. Files are emailed as attachments to up to 20 recipients; larger files are zipped, and if still above the size limit a download notice is sent instead. Empty results can skip the email.
Delivery is confirmed before moving on. The "last run" checkpoint is only advanced after the email was sent successfully. If sending fails, the run is logged as an error, an admin notice is shown, the complete file is kept for download, and the same period is exported again on the next run (for fixed periods the failed window is stored and retried), so no orders are skipped.
Files are stored outside the web root when possible (or in AJQCE_EXPORT_DIR if defined), otherwise as guarded .php files in uploads that return nothing when requested directly. Downloads require a logged-in user with the manage_woocommerce capability. Retention: delete right after emailing (manual downloads kept for 1 day) or keep for N days; a daily cleanup removes expired files.
Every write is checked. If a file cannot be written completely (folder not writable, disk full, write error) the partial file is deleted, nothing is emailed or offered for download, and the error is logged and shown as an admin notice. The Logs tab lists the last 20 runs per profile with status, rows, duration, message and download link, and has a test-email button.
No external requests and no data sent to third parties. Export files contain only the columns you choose. Data is removed on uninstall only when Help > Delete data on uninstall is checked (settings, profiles, logs, scheduled actions, export files).
| Hook | Purpose |
|---|---|
ajqce_sticky_bar_enabled | Filter whether the bar shows for a product. |
ajqce_buy_now_redirect | Filter the Buy Now redirect URL. |
ajqce_batch_size | Rows per batch (10-2000, default 200). |
ajqce_export_row | Filter each exported row. |
ajqce_formula_protection | Disable formula protection. |
ajqce_export_dir, ajqce_export_dir_candidates | Storage folder. |
ajqce_bulk_max | Maximum orders per bulk export (default 20000). |
ajqce_bulk_nudge_after | Seconds without background progress before the admin page continues a bulk export (default 15). |
ajqce_capability | Capability (default manage_woocommerce). |
ajqce_export_completed | Action after a successful export. |
ajqce_export_failed | Action after a failed export or delivery. |
ajqce_before_sticky_bar | Action before the bar markup. |
Yes, it redirects to the checkout page WooCommerce reports.
Action Scheduler runs on WP-Cron. For exact timing disable WP-Cron and run a server cron every 5-15 minutes.
No. The checkpoint did not move; the next run exports the same period again. Use Logs > Send test email to check mail delivery.