Ballin Simple Plugin — Name & Number Customizer with Live Preview
Ballin Simple is a specialized WooCommerce customization plugin that empowers shoppers to personalize jerseys and apparel with custom Player Names and Jersey Numbers. Featuring an interactive Front & Back live visualizer, drag-and-drop layer positioning, sports typography styles, and automated high-resolution mockup generation saved directly to orders.
Free Download: Ballin Simple is completely free and requires no license key. Download the package from the Customer Downloads panel.
Key Features
- Interactive Front & Back Live Visualizer: Displays photorealistic Front and Back mockup angles with an instant view switcher and one-click Flip control.
- Per-Product Image-Driven Activation: Visual preview activates conditionally only when real Front or Back product mockups are uploaded on the WooCommerce product.
- Direct Drag-and-Drop Positioning: Customers can freely drag and position Name and Number layers across the jersey mockup canvas with SVG coordinate clamping and touch/mouse support.
- Curated Sports Typography: Built-in support for popular sports jersey typefaces including Teko, Bebas Neue, Outfit, and Anton.
- High-Resolution Mockup Generation: Automatically generates composite 600×720 PNG mockup snapshots on Add-to-Cart without delaying standard form submission.
- Cart & Checkout Visual Previews: Displays customized mockup thumbnails and font/position details directly in cart and checkout item summaries.
- WooCommerce Order Integration: Full-resolution custom mockups and layer coordinates are permanently saved to WooCommerce orders, visible in both the Admin Order Edit panel and customer receipts.
- HPOS & Modern WooCommerce Ready: Fully declared compatibility with WooCommerce High-Performance Order Storage (HPOS) and Custom Order Tables.
Installation & Setup
- Download
ballin-simple.zipfrom Downloads & Packages. - Navigate to WordPress Admin > Plugins > Add New > Upload Plugin.
- Choose
ballin-simple.zipand click Install Now. - Click Activate Plugin.
Plugin Architecture & File Breakdown
The plugin is engineered with a clean, modular object-oriented PHP and modern JavaScript structure:
ballin-simple.php:Main bootstrap class managing initialization, asset registration, dependency validation, and HPOS declarations.includes/class-bscp-admin-settings.php:Global plugin settings under WooCommerce > Settings > Ballin Simple for default pricing and typography toggles.includes/class-bscp-product-meta.php:Product Data metabox with Front & Back media uploaders and per-product pricing controls.includes/class-bscp-product-page.php:Frontend product customizer UI, draggable SVG overlay stages, view switcher, and font selectors.includes/class-bscp-cart.php:Handles base64 mockup decoding, upload storage (wp-content/uploads/bscp-customizer/), price calculations, and cart metadata rendering.includes/class-bscp-orders.php:Persists custom design URLs and layer coordinates to HPOS order meta, and renders mockup cards in admin & customer order views.assets/js/bscp-product.js:Interactive drag-and-drop layer positioning, live text scaling, instant HTML5 canvas snapshot generation, and view transitions.assets/css/bscp-product.css:Polished UI styling, viewport aspect ratios, badges, drag cursor states, and responsive layout adaptations.
Configuring Per-Product Front & Back Images
To enable the live visualizer for a specific product:
- Edit any WooCommerce product (Products > All Products > Edit).
- Scroll down to the Product Data panel and select the Kit Customizer tab.
- Upload your product mockups:
- Front View Image: Upload or select the transparent front jersey PNG from the WordPress Media Library.
- Back View Image: Upload or select the transparent back jersey PNG.
- Configure optional pricing:
- Enable Customization: Enable or inherit global setting
- Custom Name Price Override: Flat fee for adding name
- Custom Number Price Override: Flat fee for adding number
- Click Update to save the product.
Note: If no front or back image is uploaded, the product will seamlessly operate in standard input mode without displaying the graphic mockup stage.
Global Options & Settings
Navigate to WooCommerce > Settings > Ballin Simple to manage global store defaults:
| Setting | Description | Default |
|---|---|---|
| Enable Globally | Toggle customization fields on all products by default | Enabled |
| Name Add-on Fee | Base flat price added when customer enters a player name | $5.00 |
| Number Add-on Fee | Base flat price added when customer enters a jersey number | $5.00 |
| Enable Font Selector | Allow customers to choose from multiple sports typography styles | Enabled |
| Max Characters | Maximum character limits for Name (15) and Number (2) | 15 / 2 |
Order Details & Production Export
When an order containing personalized items is placed:
- The WooCommerce Admin Order screen displays custom mockup cards with thumbnails under the line item.
- Store managers and production teams can click directly on the mockup thumbnails to open and download full-resolution PNG designs.
- Exact layer coordinates (X & Y pixel offsets) and selected typography styles are stored in line-item metadata for precision printing.
Developer Hooks & Filters
Customize behavior programmatically in your child theme or custom plugin:
// Modify the add-on total calculation
add_filter('bscp_calculate_customization_price', function(\$addon_price, \$cart_item_data) {
if (current_user_can('vip_customer')) {
\$addon_price = \$addon_price * 0.8; // 20% discount on customization
}
return \$addon_price;
}, 10, 2);
// Customize the input label rendered on product pages
add_filter('bscp_name_field_label', function(\$label) {
return __('Custom Player Name (Back of Jersey)', 'my-theme');
});