ShopBoost – WooCommerce Toolkit

Description

ShopBoost is a comprehensive WooCommerce toolkit that replaces multiple separate plugins with a single, unified solution. Every feature has its own dedicated settings page and can be enabled or disabled independently β€” so you only run the code you actually use.

Whether you want to increase average order value, streamline your checkout, manage redirects, or display BGN/EUR prices side by side, ShopBoost has you covered β€” all from one clean admin interface.

πŸ›’ Minimum Order Amount

Set a minimum cart amount that customers must reach before completing checkout. Displays a customisable warning notice in the cart and/or at checkout. Supports dynamic placeholders ({minimum_amount}, {current_amount}, {remaining_amount}), multiple display locations, and full visual customisation (colours, font, size) with live preview.

πŸ”— Direct Checkout Links (Product Links)

Generate direct-to-checkout links for any product. One click adds the product to the cart and takes the customer straight to checkout β€” perfect for promotions, email campaigns, and social media. Full support for variable products with a variation selection popup.

βž• Auto Add Product

Automatically add a free gift, sample, or promotional product to the cart when the customer reaches a set amount. Supports multiple products with individual thresholds, discount options (percentage, fixed amount, or set price), and automatic removal when the cart drops below the threshold.

πŸ”„ Redirect Manager

Manage 301, 302, and 410 redirects directly from the WordPress admin β€” no .htaccess editing required. Create, edit, enable/disable, and delete redirect rules from a clean table interface. Ideal for handling product URL changes, seasonal campaigns, and fixing broken links without losing SEO value.

πŸ“ Checkout Field Editor

Add custom fields to the WooCommerce checkout form (text, number, checkbox, select, textarea). Show or hide default WooCommerce fields. Drag-and-drop reordering. Custom field data is saved to the order and displayed in the admin order view and transactional emails.

πŸ’± BGN EUR Dual Currency

Display the secondary currency equivalent next to every price in your store β€” product listings, variable product ranges, cart, mini-cart, order totals, My Account, and emails. Works in both directions: BGN stores show EUR, EUR stores show Π»Π². Uses the official fixed ECB conversion rate (1 EUR = 1.95583 Π»Π².) which is set by EU law and cannot be changed. Configurable display format (brackets or slash) and position.

πŸ“Š Price Variation Display

Show all product variation prices in a structured table or visual layout directly on the product page β€” no more clicking through dropdowns. Choose from five display templates: Table, Cards, Badges, Pills, or Checkbox. Fully customisable colours, sizes, and highlight options.

πŸ“ Size Chart

Add a size guide to any product β€” displayed as a product tab, via shortcode, or as a popup button. The editor is fully visual: add and remove rows and columns, enter your measurements, and save. Can be assigned per product, per category, or globally.

🚚 Conditional Free Shipping

Automatically hide specific shipping methods when certain products are in the cart. For example: hide “Free Shipping” when a heavy or oversized product is added. Supports ANY (at least one product) and ALL (all products must be present) matching modes.

πŸ”€ URL Transliteration

Automatically converts Cyrillic characters in product, category, and post slugs to Latin on save β€” essential for SEO on Bulgarian-language stores. Also includes a manual transliteration tool for converting any text.

πŸ›οΈ Bulk Edit Products

Edit prices and stock levels across your entire catalogue from a single table view. Apply mass discounts (percentage off, fixed reduction, or set price) to selected products at once. Original prices are backed up automatically β€” restore them with one click. Full support for variable products and product variations.

⚑ Performance First

Every feature is fully gated behind its toggle. When a feature is disabled, zero hooks are registered β€” WordPress never even loops through them. Admin assets load only on plugin pages. Frontend CSS loads only on WooCommerce pages.

πŸ”’ Security

Built to WordPress coding standards: nonce verification on every form and AJAX request, capability checks, prepared SQL statements, sanitised inputs, and escaped outputs throughout.

Theme Compatibility

Works with any theme that follows WooCommerce standards. Includes dedicated integration layers for Woodmart (AJAX cart + dark mode), Divi, and WooCommerce Blocks (Gutenberg checkout).

Translations

Includes translations for: English, Bulgarian (bg_BG), German (de_DE), Spanish (es_ES), Greek (el_GR).

Support

For support, feature requests, or bug reports, please visit our support page at https://wpsupporting.com/support/

Privacy Policy

This plugin does not collect, store, or transmit any personal data. It only uses WordPress and WooCommerce standard functionality to enforce minimum order amounts.

Credits

Developed by wpsupporting – https://wpsupporting.com

Special thanks to the WordPress and WooCommerce communities for their excellent documentation and support.

Screenshots

  • General Functions – overview of all available features with enable/disable toggles for each module (Minimum Order, Product Links, Auto Add Product, URL Transliteration, Redirect, Checkout Field Editor, Price Variation, Size Chart, Conditional Free Shipping, BGN EUR and more).
  • Bulk Edit Products – manage prices and stock across all products in a table view. Apply mass discounts (percentage, fixed amount, or set price) with automatic backup and one-click restore of original prices. Supports variable products with SKU and stock columns.
  • Redirect Manager – create and manage 301/302/410 redirects directly from the admin panel without touching .htaccess. Includes SEO benefits overview (preserve link equity, fix broken links, manage product URL changes).
  • BGN EUR Dual Currency – configure where the secondary currency is displayed (product prices, cart, order totals, mini-cart, emails) and choose the display format (brackets or slash) with live preview. Uses the official fixed ECB rate (1 EUR = 1.95583 Π»Π².).

Installation

  1. Make sure WooCommerce is installed and activated.
  2. Install ShopBoost from the WordPress plugin directory, or upload the ZIP via Plugins Add New Upload Plugin.
  3. Activate the plugin.
  4. Go to ShopBoost in your WordPress admin menu.
  5. Enable the features you need from the General Functions page and configure each one from its own settings page.

FAQ

Do I need to enable all features?

No. Every feature has its own toggle on the General Functions page. Enable only what you need β€” disabled features register zero code and have no performance impact.

Is it compatible with WooCommerce HPOS?

Yes. ShopBoost fully supports WooCommerce High-Performance Order Storage (HPOS). Custom checkout fields use the Order CRUD API.

Will it work with my theme?

Yes. ShopBoost uses standard WooCommerce hooks and works with any properly coded theme. Dedicated integration layers are included for Woodmart, Divi, and Gutenberg Blocks.

Is the BGN/EUR conversion rate configurable?

No β€” and intentionally so. The rate of 1 EUR = 1.95583 Π»Π². is fixed by EU law for Bulgaria’s eurozone accession and cannot legally be changed. ShopBoost uses this rate exclusively.

Can I customise the minimum order notice appearance?

Yes. The Minimum Order settings page provides full visual control: text colour, background colour, border colour, highlight colours for each placeholder, font family, size, and weight β€” all with a live preview.

Does it work with caching plugins?

Yes. ShopBoost is compatible with all major caching plugins including WP Rocket, W3 Total Cache, LiteSpeed Cache, and WP Super Cache.

Where can I get support?

Visit wpsupporting.com/support to open a support ticket. Free registration is required.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“ShopBoost – WooCommerce Toolkit” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.7.2

  • New Feature – Mass Discount module: Separated into its own independent module with a dedicated admin page and its own On/Off toggle in General Functions. Supports named promotions β€” each discount run is saved with a custom label (e.g. “Summer Sale”), percentage, and date. The promotions panel on the left lists all active promotions with live product counts; clicking a promotion filters the product table to show only the products in that promotion. Original prices are backed up automatically and can be restored per-product or in bulk at any time. Products discounted before this feature was introduced continue to work normally under “All with active discount”.
  • Improvement – Bulk Edit Products: SKU inline editing: SKU cells in the Bulk Edit Products table are now inline-editable. Click any SKU cell to edit in place; uniqueness is validated server-side before saving (duplicate SKUs are rejected with an error message). Variable products support SKU editing directly in the table.
  • Fix – Product filter not applied in Mass Discount: Switching to WP_Query directly (replacing wc_get_products()) to fix paginated meta-query filtering. wc_get_products() silently ignored meta_query in paginated requests, causing the promotion filter to return all products instead of the filtered set.

1.7.1

  • Bug fix – Admin styles and scripts not loading: All plugin sub-pages (Minimum Order, Product Links, Auto Add Product, URL Transliteration, Redirect, etc.) were loading without any admin styles or JavaScript. Root cause: WordPress generates sub-page screen IDs from the sanitised menu title (sanitize_title('ShopBoost') shopboost), producing IDs like shopboost_page_flexmior-*. The previous detection used strpos($screen_id, 'flexible-minimum-order') which never matched these IDs. Fixed by also checking for flexmior in both $screen->id and the $hook parameter β€” now covers all current and future plugin pages reliably.
  • Bug fix – Auto Add Product product list not injected: The product list for the Auto Add Product page was gated behind a strict equality check against a hardcoded screen ID (flexible-minimum-order_page_flexmior-auto-add-product) that was also affected by the same naming issue above. Replaced with a strpos() check so the product data is correctly passed to JavaScript regardless of the screen ID prefix.
  • Improvement – Minimum Order settings page redesign: Rebuilt with a proper two-column card layout (Basic Settings + Custom Message + Shortcode on the left; Notice Colors + Typography on the right). Fixed a broken form structure where <form> opened inside the left column while Visual Settings and the Save button were outside it β€” meaning visual settings were never actually submitted. Added toggle switches, a live message preview, a live visual preview (colours and typography), and a one-click shortcode copy button.

1.7.0

  • New Feature – BGN EUR Dual Currency: Shows the secondary currency equivalent next to every price across the store (product listings, variable product ranges, cart item prices and subtotals, cart grand total, mini-cart, order pages, My Account, and transactional emails). Works in both directions β€” BGN stores show EUR (Γ· 1.95583); EUR stores show Π»Π². (BGN) (Γ— 1.95583). Uses the fixed ECB conversion rate (1 EUR = 1.95583 BGN). Configurable display format (brackets or slash), position (after or before), and independent per-location toggles. Settings page adapts automatically to the active store currency.
  • Performance – Feature hooks: Every feature toggle now truly disables its code path. All Auto Add Product hooks (six in total) are now gated behind the feature toggle β€” zero callbacks registered when the feature is off.
  • Performance – Admin asset loading: Replaced 19 redundant page-detection if blocks in admin_scripts() with a single strpos() check on the screen ID. Covers all current and future plugin pages automatically. Product Links admin bundle now loads only when the Product Links feature is enabled.
  • Performance – Color CSS variables: Notice colour overrides moved from a raw wp_head echo to wp_add_inline_style(), removing a separate render-blocking <style> tag.
  • Performance – BGN/EUR frontend CSS: .fmo-eur-price rule moved permanently into frontend.css (already loaded only on WooCommerce pages), removing one inline style block per page load.
  • Redirect – URL matching fixed: Removed an impossible fourth SQL variation (raw REQUEST_URI with query string β€” source URLs are stored without query strings so it could never match). Query now uses three clean, documented variations.
  • Redirect – DB error logging: All four AJAX operations (create, update, delete, toggle) now log $wpdb->last_error on failure for easier debugging.
  • Price Variation – Two-column layout: Settings page rebuilt with side-by-side layout matching the rest of the plugin UI.
  • Price Variation – Checkbox template fixed: “Checkbox – Square” template now renders correctly; previously fell back silently to the Table template.
  • Price Variation – Checkbox Settings card: Dedicated settings card (size and four colors) appears automatically when the Checkbox template is selected.
  • Price Variation – Highlight Selected: Toggle now correctly emits or suppresses .selected CSS rules for all five templates.
  • Price Variation – UI consistency: Toggle switches, color fields, number inputs, and save button now use the standard plugin design system.
  • Size Chart editor rewrite: Fully data-driven. PHP parses saved chart HTML into a JSON model via DOMDocument; JavaScript renders from that model. Removed ~270 lines of legacy DOM-scraping code and all production console.log() leaks.
  • Size Chart – Display Settings UX: Two always-visible multi-select boxes replaced with a segmented “Show on” toggle (All Products / By Category / Specific Products).
  • Safer toggling: Admin UI, settings link, and shortcodes remain always-on so settings are always accessible regardless of feature state.

1.6.4

  • Cleanup: Removed leftover console.log() debug statements from the Checkout Field Editor and URL Transliteration screens. Only console.error() calls for genuine failures (missing jQuery UI, AJAX errors) remain.

1.6.3

  • Fix: Bulk Edit Products page threw SyntaxError: Expected property name or '}' in JSON when a category name contained an apostrophe, ampersand, or other character mangled by esc_js(). The categories list is now injected with wp_json_encode() directly (no JSON.parse() / esc_js()), which produces a valid JavaScript array literal regardless of the contents.

1.6.2

  • Fix: Drag-and-drop reordering on the Checkout Field Editor now works for both default WooCommerce fields and custom fields. The default fields container was switched from CSS grid to flexbox (jQuery UI sortable cannot compute positions inside a grid container), a dedicated .fmo-drag-handle element is now the sortable handle so Edit/Hide/Required buttons stay clickable, and the custom fields table helper now preserves column widths during drag.

1.6.1

  • View layer extracted: Every admin page HTML template has been moved out of class-settings-page.php into its own file under includes/views/. The class shrinks from 5,914 to 556 lines and now contains only routing, menu registration, settings sanitizers, and thin delegators to the view files. No behaviour changes.
  • Maintainability: Each screen is now reviewable on its own (view-redirect.php, view-bulk-edit.php, view-checkout-field-editor.php, etc.).

1.6.0

  • Architecture refactor: The monolithic settings class has been split into dedicated AJAX handlers (Redirects, Checkout Fields, URL Transliteration, Product Generator, Bulk Edit) and a reusable URL transliterator service. No user-facing behaviour changes; AJAX endpoints and nonces are preserved.
  • Security by default: New Flexmior_Ajax_Handler base class enforces check_ajax_referer() + current_user_can() on every AJAX endpoint β€” it is no longer possible to add a handler that forgets the check.
  • Smaller core file: class-settings-page.php reduced from 7,918 5,914 lines (-25%). Feature code lives in focused files under includes/ajax/.
  • Dead code removed: upload_image_from_url() (unused).

1.5.3

  • HPOS fix: Custom checkout fields now use the Order CRUD API ($order->update_meta_data / $order->get_meta) instead of legacy post meta β€” required for stores running High-Performance Order Storage.
  • Security hardening: Added explicit phpcs:ignore annotations with justifications to direct database queries against plugin tables; strict comparison (true) added to all in_array() calls.
  • Code quality: Replaced gmdate() with wp_date() for analytics date grouping so results respect the site timezone.
  • JS cleanup: Debug console output is now gated behind a debug flag (enabled automatically when WP_DEBUG is true). Production console stays quiet; real errors still log via console.error.
  • Cleanup: Removed dead code blocks, debug HTML comments, and stale // ΠŸΠ Π•ΠœΠΠ₯НАВО markers.
  • Activation: Explicit defaults when reading options in the activation hook.

1.5.2

  • New: Conditional Free Shipping now supports custom checkout text for uncalculated shipping labels (editable from settings)
  • Bug fixes: Fixed minor bugs and improved overall stability

1.5.1

  • Bulk Edit: Added product image column in table
  • Bulk Edit: Products per page filter (10, 20, 50, 100)
  • Admin bar: ShopBoost menu for quick access to Settings and Bulk Edit
  • Bulk Edit: Mass discount with save & restore – original prices saved automatically, restore action to undo
  • Bulk Edit: Full variation support – backup/restore and all bulk actions apply to variable product variations
  • Bulk Edit: Variable products show min–max price ranges; Variations badge in table
  • File cleanup for WordPress.org compliance – removed development-only docs
  • Updated README.md with accurate plugin description

1.5.0

  • New: Size Chart feature (Beta) – display size guide tables in product tabs, via shortcode, or as popup
  • New: Bulk Edit Products – edit prices, stock, and apply bulk promotions in a table view with search and filters
  • Performance: Frontend CSS loads only on cart, checkout, shop, and product pages (not on blog/archive)
  • Performance: Color CSS variables injection limited to WooCommerce pages only
  • Performance: Auto Add Product product list limited to 500 items for faster loading
  • Performance: Added lightweight frontend.css (~3 KB) with only notice styles
  • Size Chart marked as Beta in admin interface
  • Plugin optimized for speed and compatibility with latest WordPress

1.4.1

  • Minimum order now uses cart contents only (products) – shipping, taxes and fees are excluded from the minimum order check
  • Fixed redirect logic on login/registration pages (replaced undefined is_login/is_registration with proper WordPress/WooCommerce checks)

1.4

  • Improved Checkout Field Editor with simplified modal design and better user experience
  • Enhanced Redirect page with compact layout and improved modal interface
  • Fixed drag and drop functionality for reordering checkout fields
  • Fixed show/hide functionality for default WooCommerce checkout fields
  • Enhanced security with improved SQL injection protection and data sanitization
  • Reorganized General Functions page – active features first, then Coming Soon features
  • Improved overall admin interface consistency and usability

1.3.3

  • Redesigned General Functions page with modern card-based layout
  • Added feature toggle system for enabling/disabling individual features
  • Added 6 new “Coming Soon” features: Advent Calendar, Free Shipping Bar, Price Tracking, Abandoned Cart, Price Variation, and Checkout Field Editor
  • Improved admin interface with full-width responsive grid layout
  • Updated plugin icons (Shopboostar.png and Icondash.ico) for better visual identity
  • Removed deprecated icon-128×128.png
  • Enhanced product links page with improved product name and price formatting
  • Optimized icon sizes for better performance (20x20px for menu icons)
  • Improved code organization and preparation for future feature releases

1.3.2

  • Added Woodmart theme integration with full AJAX cart support
  • Added mini cart widget message for Woodmart theme
  • Added protection against duplicate plugin loading using FLEXIBLE_MINIMUM_ORDER_LOADED constant
  • Improved theme detection for Woodmart, Divi, and default themes
  • Added dark mode support for Woodmart theme
  • Enhanced responsive styles for all integrations

1.3.1

  • Fixed Gutenberg/Blocks integration – HTML tags now display correctly as HTML instead of plain text
  • Fixed syntax error in JavaScript code for Blocks integration
  • Fixed output escaping issues in all integration files
  • Updated “Tested up to” WordPress version to 6.9
  • Removed all debug messages (console.log and error_log) for production release
  • Improved HTML rendering in Gutenberg Blocks minimum order messages
  • Enhanced security with proper output escaping and sanitization

1.3.0

  • Added Auto Add Product feature – Automatically add products to cart when customers reach specified amounts
  • Added support for multiple auto-add products with individual configuration per product
  • Added discount options for auto-added products (Percentage, Fixed Amount, Set Price)
  • Added option to automatically remove products from cart when total falls below threshold
  • Added option to hide auto-added products from shop pages (only visible when automatically added)
  • Moved “Enable direct checkout links” option to Product Links page for better organization
  • Improved admin interface with full-width product configuration table
  • Enhanced security with proper input sanitization and validation
  • Fixed all security warnings and linter errors
  • Improved JavaScript functionality for dynamic product row management

1.2.1

  • Fixed issue where “Enable Minimum Order” checkbox could not be properly disabled
  • Improved form submission handling to correctly save checkbox states when unchecked
  • Enhanced settings save logic to properly detect Basic Settings form submission

1.2

  • Added Product Links feature – Generate direct checkout links for products
  • Added variation selection popup for variable products when copying checkout links
  • Added “Copy Checkout Link” action in product list for quick link generation
  • Improved admin interface with new “Product Links” submenu page
  • Enhanced security with proper input sanitization and validation
  • Fixed all linter warnings and security recommendations
  • Added phpcs.xml configuration file for code quality
  • Improved JavaScript error handling and user feedback
  • Added modal popup for variation selection with AJAX support
  • Updated menu naming to “Flexible Minimum Order” (restored original name)
  • Enhanced copy-to-clipboard functionality with visual feedback
  • Added support for variable products in direct checkout links
  • Improved code documentation and comments

1.0.1

  • Applied flexmior/fmo_ prefixes across entire codebase for better uniqueness
  • Added direct access guards (ABSPATH) to all PHP files
  • Implemented robust admin assets enqueue logic for proper page detection
  • Fixed all i18n and escaping issues with proper translator comments
  • Updated plugin headers with correct URIs and requirements
  • Added migration path for old option names to maintain backward compatibility
  • Deprecated old shortcode while maintaining backward compatibility
  • Removed all debug code and improved code quality
  • Enhanced security with proper nonce verification and sanitization
  • Updated readme.txt to WordPress.org standards

1.0.0

  • Initial release
  • Basic minimum order amount functionality
  • Category-based minimum amounts
  • Custom message customization
  • HPOS compatibility
  • Modern admin interface