A comprehensive WooCommerce plugin that automatically calculates pricing for art prints based on image dimensions, with frame options and shipping calculations - replicating Paolo's custom PHP logic.
- Extracts dimensions from uploaded product images automatically
- Supports EXIF data for accurate DPI detection
- Converts pixels to centimeters and inches using proper DPI calculations
- Stores dimensions as product meta for future use
- Implements Paolo's exact pricing formula:
(Width Γ Height Γ Coefficient Γ Difficulty) + Shipping - Supports multiple predefined sizes (20", 24", 32", 40", 48")
- Product type selection: Photo vs Painting with different pricing
- Difficulty multipliers: Easy (2x), Medium (3x), Hard (4x), Very Hard (9x)
- Separate pricing for prints vs hand-painted options
- Real-time price updates on frontend with AJAX
- Size-based frame pricing with multiple calculation methods
- Three pricing types: Fixed, Per Square Centimeter, and Size Tiered
- Custom frame options with individual pricing
- Frame image gallery support
- Easy-to-use admin interface for managing frame options
- Dynamic frame cost calculation based on actual dimensions
- Zone-based shipping pricing with tiered rates for different product types
- Three shipping methods: Rolled, On Stretcher, and Framed
- Configurable shipping zones with admin interface
- Weight-based calculations using Paolo's formula
- Automatic population of WooCommerce shipping fields
- Elegant size selection buttons (inspired by ArtByMaudsch.com)
- Unit toggle (inches/centimeters)
- Interactive frame selection with visual previews
- Real-time price updates
- Mobile-responsive design
- Manual dimension input to override automatic calculations
- Admin controls for fine-tuning pricing
- Bulk recalculation tools
- Upload the plugin files to
/wp-content/plugins/art-print-pricing/ - Activate the plugin through the WordPress admin
- Ensure WooCommerce is installed and active
- Configure settings under WooCommerce β Art Print Settings
- Shipping Zone Tables: Configure tiered pricing for different shipping methods
- Three Shipping Types: Rolled, On Stretcher, and Framed with separate pricing
- Admin Interface: Easy-to-use shipping zone configuration under WooCommerce β Shipping Zones
- Dynamic Calculation: Real-time shipping cost calculation based on weight and zone
- Size-Based Pricing: Frame costs calculated based on actual dimensions
- Multiple Pricing Methods: Fixed, Per Square Centimeter, or Size Tiered pricing
- Admin Configuration: Configure frame pricing under WooCommerce β Frame Pricing
- Dynamic Updates: Frame prices update automatically when size changes
- Photo vs Painting: Customers can choose between photo prints and hand-painted options
- Different Pricing: Each product type has its own pricing structure
- Clear Interface: Intuitive selection buttons for product type and shipping method
art-print-pricing/
βββ art-print-pricing.php # Main plugin file
βββ includes/
β βββ class-admin-settings.php # Admin settings and configuration
β βββ class-product-calculator.php # Core pricing calculation logic
β βββ class-frontend-display.php # Frontend product display
β βββ class-image-processor.php # Image dimension extraction
β βββ class-frame-manager.php # Frame options management
βββ assets/
β βββ css/
β β βββ frontend.css # Frontend styling
β β βββ admin.css # Admin interface styling
β βββ js/
β βββ frontend.js # Frontend functionality
β βββ admin.js # Admin functionality
βββ README.md
- Product Categories: Select which product categories should use art print pricing
- Base Coefficient: Set the base pricing coefficient (default: 0.009)
- Available Sizes: Configure available print sizes (default: 20", 24", 32", 40", 48")
- Painted Multiplier: Set the multiplier for hand-painted options (default: 3.5x)
- DPI Settings: Configure minimum print DPI (default: 240)
Navigate to WooCommerce β Frames to:
- Add custom frame options
- Set frame pricing (fixed or size-based)
- Upload frame preview images
- Configure shipping type per frame (rolled/framed)
Navigate to WooCommerce β Frame Pricing to:
- Configure size-based frame pricing
- Choose pricing method: Fixed, Per Square Centimeter, or Size Tiered
- Set pricing tiers for different size ranges
Navigate to WooCommerce β Shipping Zones to:
- Create shipping zones
- Configure tiered pricing for each shipping method
- Set weight-based rates for rolled, stretched, and framed shipping
- Upload Product Images: Add high-quality images to your products
- Automatic Processing: The plugin automatically extracts dimensions from images
- Review Pricing: Check the calculated prices in the product edit screen
- Manual Override: Adjust dimensions or pricing manually if needed
- Bulk Operations: Use bulk tools to recalculate prices or extract dimensions for all products
- Select Size: Choose from available print sizes
- Choose Type: Select between photo print or hand-painted
- Pick Frame: Select frame option (or no frame)
- View Price: See real-time price updates including shipping
- Add to Cart: Complete purchase with calculated pricing
- WordPress 5.0 or higher
- WooCommerce 3.0 or higher
- PHP 7.4 or higher
- GD Library or Imagick for image processing
Q: How are prices calculated?
A: Prices are calculated using the formula: (Width Γ Height Γ Coefficient Γ Difficulty) + Frame Cost + Shipping
Q: Can I override automatic dimension detection?
A: Yes, you can manually enter dimensions in the product edit screen.
Q: Does it work with variable products?
A: Currently, the plugin is designed for simple products with image-based pricing.
Q: Can I customize the available sizes?
A: Yes, you can configure available sizes in the plugin settings.
- Initial release
- Automatic image dimension detection
- Dynamic pricing calculator
- Frame management system
- Zone-based shipping
- Frontend interface with real-time updates
For support, please open an issue on the GitHub repository.
Talha Munawar
GPL v2 or later