Pro Features
Unlock premium widgets, advanced functionality, and exclusive features with Magical Shop Builder Pro.
Overview
Magical Shop Builder Pro is a premium add-on that extends the free plugin with powerful advanced features. It requires the free version of Magical Shop Builder to be installed and activated. Pro status is managed through existing option names (mgppro_is_active, mgppro_has_valid_lic) for backward compatibility.
The Pro system is designed as a modular add-on — all free features continue to work without it. Pro simply unlocks additional capabilities on top of the existing plugin.
The Pro system includes:
- Centralized pro feature management — handled by
class-mpd-pro.php(~250 lines), which registers pro widgets, enqueues pro assets, and manages the pro status checks. - Pro Lock trait — a reusable PHP trait that widgets use to lock specific controls and features behind the pro gate.
- Development mode support — define the
MPD_PRO_DEV_MODEconstant to unlock all pro features during development without a license key.
// Enable Pro development mode (unlocks all pro features without a license)
define( 'MPD_PRO_DEV_MODE', true );
Free vs Pro Comparison
The following table shows a complete comparison of features available in the free version versus what’s unlocked with Pro:
| Feature | Free | Pro |
|---|---|---|
| Products Grid Widget | ✓ | ✓ (+ Image Flip, Stock Bar, Action Icons) |
| Products List Widget | ✓ | ✓ |
| Products Slider | ✓ | ✓ |
| Products Carousel | ✓ | ✓ |
| Products Tab | ✓ | ✓ |
| Products Categories | ✓ | ✓ |
| AJAX Search | ✓ | ✓ |
| Testimonial Carousel | ✓ | ✓ |
| Accordion | ✓ | ✓ |
| Pricing Table | ✓ | ✓ |
| All Single Product Widgets (16) | ✓ | ✓ |
| All Cart Widgets (6) | ✓ | ✓ |
| All Checkout Widgets (9 free) | ✓ | ✓ |
| Multi-Step Checkout | — | ✓ |
| All My Account Widgets (8) | ✓ | ✓ |
| All Shop Archive Widgets (11) | ✓ | ✓ |
| All Global Widgets (7) | ✓ | ✓ |
| All Thank You Widgets (4) | ✓ | ✓ |
| Template Builder | ✓ | ✓ |
| Template Conditions | ✓ | ✓ |
| Pre-Built Layouts | ✓ | ✓ |
| Compare Table Widget | — | ✓ |
| Product Pro Details Widget | — | ✓ |
| Advance Countdown Widget | — | ✓ |
| Product Hotspots Widget | — | ✓ |
| Product Ticker Widget | — | ✓ |
| Product Video in Gallery | — | ✓ |
| Image Flip on Hover | — | ✓ |
| Stock Progress Bar | — | ✓ |
| Wishlist/Share/QR Action Icons | — | ✓ |
Pro-Exclusive Widgets
These widgets are only available when Magical Shop Builder Pro is activated with a valid license:
Pro Widget Enhancements
In addition to exclusive widgets, Pro unlocks advanced features in existing free widgets:
Products Grid — Pro Enhancements
- Image Flip on Hover — Shows a secondary product image when hovering over the product card, creating a dynamic browsing experience.
- Stock Progress Bar — Visual progress bar showing remaining stock levels, creating urgency for low-stock items.
- Action Icons — Wishlist, Share, QR Code, and Video action icon buttons overlaid on product cards for quick interactions.
Product Gallery — Video Support
- YouTube and Vimeo Videos — Embed product videos directly in the WooCommerce product gallery alongside product images.
- Video position is configurable: display the video first (before images) or last (after images).
- Videos are added per-product via the Product Video metabox.
Multi-Step Checkout
- Full step-by-step checkout wizard — Break the checkout process into clear, manageable steps for improved conversion rates.
- Comprehensive implementation (~2,755 lines) with full Elementor controls for each step.
- Customizable step labels, icons, colors, and progress indicators.
Product Video Metabox
Pro adds a “Product Video” tab to the WooCommerce product data panel (~453 lines), allowing store owners to attach video content to their products:
Product Video metabox — add YouTube or Vimeo videos to products
Supported Platforms
- YouTube — Paste any YouTube video URL
- Vimeo — Paste any Vimeo video URL
Configuration Options
- Video URL — The YouTube or Vimeo video link
- Video Position — Choose where the video appears in the gallery:
- First — Video displays before product images
- Last — Video displays after product images
- Live Preview — Preview the video directly in the admin panel while editing
Meta Keys
_mpd_product_video_url // The YouTube or Vimeo video URL
_mpd_product_video_position // 'first' or 'last' — video placement in gallery
How Pro Locking Works (Developer Info)
The Pro Lock trait (trait-mpd-pro-lock.php) provides a set of methods that widgets use to gate features behind the pro check. This makes it easy to add pro-only controls to any widget while maintaining a clean upgrade path.
This section is intended for developers who want to understand how pro locking works internally or who are extending the plugin with custom widgets.
Available Methods
| Method | Description |
|---|---|
is_pro() |
Check if Pro is active. Returns true if the user has a valid license or if MPD_PRO_DEV_MODE is enabled. |
get_pro_badge() |
Returns an orange “(Pro)” badge HTML string for use in labels and control titles. |
get_pro_notice($message) |
Returns a styled warning box with a custom message and an upgrade link. Used to display pro upsell notices inside widget panels. |
pro_label($label) |
Takes a label string and appends the pro badge to it. Use for Elementor control labels. |
pro_value($pro_value, $fake_value) |
Returns $pro_value when Pro is active, otherwise returns $fake_value. Useful for conditionally setting control defaults. |
get_pro_options($options, $pro_options) |
Merges dropdown options, disabling pro-only entries with a “(Pro)” suffix when Pro is not active. |
Usage Example
use Jesuspended\MagicalProductsDisplay\Traits\Pro_Lock;
class My_Widget extends \Elementor\Widget_Base {
use Pro_Lock;
protected function register_controls() {
// Add a pro-only control
$this->add_control(
'image_flip',
[
'label' => $this->pro_label( 'Image Flip' ),
'type' => \Elementor\Controls_Manager::SWITCHER,
'default' => $this->pro_value( 'yes', '' ),
]
);
// Show upgrade notice if not pro
if ( ! $this->is_pro() ) {
$this->add_control(
'pro_notice',
[
'type' => \Elementor\Controls_Manager::RAW_HTML,
'raw' => $this->get_pro_notice( 'Upgrade to unlock Image Flip.' ),
]
);
}
}
}
License Activation
Follow these steps to activate your Pro license and unlock all premium features:
- Install the free plugin — Install and activate the free Magical Shop Builder plugin from WordPress.org or upload it manually.
- Install the Pro add-on — Install and activate the Magical Shop Builder Pro add-on plugin (provided after purchase).
- Navigate to the dashboard — Go to Magical Shop Builder > Dashboard in your WordPress admin.
- Enter your license key — Locate the License section on the dashboard and paste your license key.
- Click “Activate License” — Click the activation button to validate and activate your key.
Once activated, all Pro widgets and features will be immediately available in the Elementor editor. No page refresh required — new widgets appear in the widget panel right away.
License Management via REST API
Pro license status can also be managed programmatically through the REST API:
GET /wp-json/mpd/v1/license // Check current license status
POST /wp-json/mpd/v1/license // Activate a license key
DELETE /wp-json/mpd/v1/license // Deactivate the current license
Upgrade to Pro
Unlock the Full Power of Magical Shop Builder
Get access to 5 exclusive pro widgets, image flip effects, stock progress bars, product video gallery support, multi-step checkout, action icons, and more. One license, unlimited possibilities.
- 5 Pro-exclusive widgets (Compare Table, Product Pro Details, Advance Countdown, Product Hotspots, Product Ticker)
- Advanced product grid enhancements (Image Flip, Stock Bar, Action Icons)
- Product Video in Gallery (YouTube & Vimeo)
- Multi-Step Checkout wizard
- Priority support & regular updates