Known Issues & Compatibility
This page documents known compatibility issues, plugin conflicts, and their solutions. If you encounter an issue not listed here, please contact support.
Caching & Performance Plugins
Issue: Booking form not loading or showing incorrect availability
Affected Plugins:
- WP Rocket
- W3 Total Cache
- WP Super Cache
- Autoptimize
- WP Optimize
- Any page caching plugin
Problem: Caching plugins can cache the booking form, causing availability slots to be outdated or preventing real-time availability checks.
Solution:
-
Exclude appointment products from caching:
- In your caching plugin settings, add appointment product pages to the exclusion list
- Example URLs to exclude:
/product/*(where*is your appointment product slug)
-
Exclude AJAX requests:
- Exclude
/wp-admin/admin-ajax.phpfrom caching - Exclude
/wp-json/wc-appointments/*API endpoints
- Exclude
-
Disable object caching for appointments:
- If using Redis/Memcached, exclude appointment-related database queries
-
Clear cache after changes:
- Always clear all caches after creating or editing appointments, availability rules, or products
Issue: JavaScript errors in booking form
Affected Plugins:
- Autoptimize
- WP Rocket (JavaScript minification)
- Any JavaScript minification/optimization plugin
Problem: JavaScript minification can break the appointment booking form functionality, causing errors like "Cannot read property of undefined" or form not submitting.
Solution:
-
Exclude appointment scripts from minification:
- Add these files to exclusion list:
wc-appointments-appointment-form*wc-appointments-date-picker*wc-appointments-time-picker*wc-appointments-staff-picker*wc-appointments-month-picker*
- Add these files to exclusion list:
-
Disable JavaScript aggregation:
- For appointment product pages, disable JavaScript aggregation/concatenation
-
Test in safe mode:
- Temporarily disable the optimization plugin to confirm it's the cause
Multilingual Plugins
WPML (WooCommerce Multilingual)
Compatibility:
- ✅ Fully compatible with proper setup
- Requires: WPML Multilingual CMS 4.6.15+ and WooCommerce Multilingual 5.4.0+
Known Issues:
-
Appointment emails not translated:
- Solution: Ensure email templates are translated in WPML String Translation
- Translate strings under "WooCommerce Appointments" domain
-
Availability rules not syncing across languages:
- Solution: Availability rules are global by design. Use language-specific products if needed
-
Staff assignments not translating:
- Solution: Staff members are global. Create language-specific staff if needed
Polylang for WooCommerce
Compatibility:
- ✅ Fully compatible
- Requires: Polylang for WooCommerce 2.1.4+
Known Issues:
-
Appointment status translations:
- Solution: Translate appointment statuses in Polylang string translations
- Look for "WooCommerce Appointments" domain
-
Product translations:
- Solution: Ensure appointment products are properly linked as translations in Polylang
WooCommerce Extensions
Understanding Compatibility
Important: Appointments is a product type (like 'simple', 'variable', etc.). In WooCommerce, a product can only be one product type at a time. This means:
- An appointment product cannot also be a bundle, composite, or subscription product
- However, appointment products can be used as items within bundles and composites
- These plugins are "compatible" because they can coexist and work together, not because they integrate directly
WooCommerce Product Bundles
How it works:
- ✅ Product Bundles can contain appointment products as bundled items
- ✅ You can create a bundle that includes appointment products along with other products
- ⚠️ Note: If using Product Add-ons (bundled with Appointments), Product Bundles version 8.1.0+ is required for Product Add-ons compatibility
Example Use Case: Create a bundle like "Massage Package" that includes:
- 1x Appointment product (60-minute massage)
- 1x Simple product (massage oil)
- 1x Simple product (gift certificate)
Known Issues:
None reported. Appointment products work as bundled items. If you're using Product Add-ons with Bundles, ensure Product Bundles is version 8.1.0 or higher.
WooCommerce Composite Products
How it works:
- ✅ Composite Products can contain appointment products as composited items
- ✅ You can create a composite product where customers choose appointment products as options
- ⚠️ Note: If using Product Add-ons (bundled with Appointments), Composite Products version 10.1.0+ is required for Product Add-ons compatibility
Example Use Case: Create a composite like "Spa Day Package" where customers choose:
- Appointment product: Choose massage time (30/60/90 minutes)
- Appointment product: Choose facial treatment type
- Simple product: Choose lunch option
Known Issues:
None reported. Appointment products work as composited items. If you're using Product Add-ons with Composite Products, ensure Composite Products is version 10.1.0 or higher.
WooCommerce Subscriptions
How it works:
- ✅ Subscriptions plugin can coexist with Appointments
- ✅ You can create subscription products that include appointment products
- ✅ A previous issue with manual subscription renewal was fixed in version 4.8.16
- ⚠️ Note: An appointment product cannot BE a subscription product (they're different product types)
Example Use Case:
- Create a subscription product: "Monthly Gym Membership"
- Include appointment products as subscription items: "Personal Training Session" (booked monthly)
- Customers get recurring access to book appointments as part of their subscription
Known Issues:
-
Appointments not directly linked to subscriptions:
- Note: Appointments are linked via order items, not directly to subscriptions
- This is expected behavior - appointments are created from order items, not subscription objects
-
Recurring appointment bookings:
- Note: Appointments plugin doesn't support automatic recurring bookings natively
- Each appointment must be booked individually, even if part of a subscription
- Use subscription renewals to create new order items, then customers can book new appointments from those orders
Payment Gateways
WooCommerce Payments (WooPayments)
Compatibility:
- ✅ Fully compatible
- Multi-currency is supported in admin appointment creation
Known Issues:
- Multi-currency in admin modal:
- Solution: Ensure WooPayments multi-currency is properly configured
- Currency conversion happens automatically in admin appointment creation
Stripe
Compatibility:
- ✅ Fully compatible
Known Issues:
None reported. If you encounter issues, ensure both plugins are up to date.
Page Builders
Elementor
Compatibility:
- ✅ Compatible with shortcodes and blocks
Known Issues:
-
Booking form not displaying:
- Solution: Use the Appointment Form block or shortcode within Elementor
- Don't try to embed the product page directly
-
Styling conflicts:
- Solution: Use Elementor's custom CSS to override appointment form styles if needed
- Check for CSS specificity conflicts
Gutenberg / Block Editor
Compatibility:
- ✅ Fully compatible
- Native blocks available: Appointment Form, Availability Filter
Known Issues:
- Blocks not appearing:
- Solution: Ensure WooCommerce Blocks 7.2.0+ is installed and active
- Clear browser cache and WordPress cache
REST API Issues
Issue: Admin calendar not loading (403 error)
Problem: WordPress REST API is disabled or restricted, preventing the admin calendar from loading.
Solution:
-
Enable REST API:
- Ensure REST API is not disabled in
wp-config.php - Remove any code that disables REST API
- Ensure REST API is not disabled in
-
Check permissions:
- Ensure admin users have proper capabilities
- Check if security plugins are blocking REST API
-
Check .htaccess:
- Ensure
.htaccessdoesn't block/wp-json/requests
- Ensure
Issue: API endpoints returning 404
Problem: Permalink structure not set or REST API routes not registered.
Solution:
-
Set permalink structure:
- Go to Settings → Permalinks
- Choose any structure other than "Plain"
- Save (no need to change, just save)
-
Flush rewrite rules:
- Deactivate and reactivate WooCommerce Appointments
- Or run:
flush_rewrite_rules()via WP-CLI
Multisite Installations
Issue: Appointments not syncing across sites
Problem: In WordPress Multisite, appointments are site-specific by design.
Solution:
- This is expected behavior
- Each site in the network has its own appointments
- Use network admin to manage appointments across sites if needed
Issue: Availability cache issues on multisite
Problem: Cache table prefix may be incorrect for sub-sites.
Solution:
-
Check table prefix:
- Ensure database tables use correct site-specific prefix
- Run the indexing health check: Appointments → Settings → Indexing
-
Re-index if needed:
- Go to Appointments → Settings → Indexing
- Click "Re-index All" if issues persist
JavaScript Conflicts
Issue: Date/time picker not working
Affected:
- Themes with conflicting jQuery UI versions
- Plugins that load outdated jQuery UI
Solution:
-
Check jQuery UI version:
- Appointments requires jQuery UI 1.12.1+
- Use browser console to check for jQuery UI errors
-
Disable conflicting scripts:
- Temporarily deactivate other plugins to identify the conflict
- Contact the conflicting plugin's developer
-
Use compatibility mode:
- Some themes have "jQuery compatibility mode" - enable it
Issue: Form submission not working
Problem: JavaScript errors preventing form submission.
Solution:
-
Check browser console:
- Open browser developer tools (F12)
- Look for JavaScript errors
- Share errors with support
-
Disable browser extensions:
- Some ad blockers or privacy extensions can interfere
- Test in incognito/private mode
-
Check for PHP errors:
- Enable WordPress debug mode
- Check error logs for PHP fatal errors
Email Issues
Issue: Reminder emails not sending
Problem: WordPress cron not running (see WordPress Cron tutorial).
Solution:
-
Set up real cron job:
- Follow the WordPress Cron setup guide
- Ensure
wp-cron.phpruns every minute
-
Check email settings:
- Verify reminder emails are enabled in WooCommerce → Settings → Emails
- Check spam folder
-
Test email delivery:
- Use a plugin like "WP Mail SMTP" to test email delivery
- Check server mail logs
Issue: Email templates not loading
Problem: Theme override templates are outdated or missing.
Solution:
-
Check template location:
- Templates should be in:
yourtheme/woocommerce/appointments/emails/ - Ensure all required template files exist
- Templates should be in:
-
Update templates:
- Compare your theme templates with plugin templates
- Update any outdated template files
Database & Performance
Issue: Slow booking form loading
Problem: Large number of appointments or complex availability rules.
Solution:
-
Enable indexing:
- Go to Appointments → Settings → Indexing
- Enable "Use Indexed Availability Checking"
- Set appropriate cache horizon (3-6 months recommended)
-
Optimize database:
- Run database optimization
- Clean up old appointments if not needed
-
Check server resources:
- Ensure adequate PHP memory limit (256MB+)
- Check server response times
Issue: Indexing not working
Problem: Database permissions or table creation issues.
Solution:
-
Check database permissions:
- Ensure WordPress database user can CREATE tables
- Check for disk space issues
-
Manual re-index:
- Go to Appointments → Settings → Indexing
- Click "Re-index All"
- Monitor for errors
-
Check health:
- Use the indexing health check tool
- Review any reported issues
Theme Compatibility
Issue: Booking form styling broken
Problem: Theme CSS conflicts with appointment form styles.
Solution:
-
Check theme compatibility:
- Test with default WordPress theme (Twenty Twenty-Four)
- If it works, the issue is theme-specific
-
Add custom CSS:
- Use theme's custom CSS option
- Override conflicting styles with higher specificity
-
Contact theme developer:
- Report the conflict to your theme developer
- Request compatibility update
Issue: Calendar not displaying correctly
Problem: Theme JavaScript or CSS conflicts.
Solution:
-
Disable theme scripts:
- Temporarily switch to default theme to confirm
- Contact theme developer if confirmed
-
Check for jQuery conflicts:
- Ensure theme uses compatible jQuery version
- Some themes load outdated jQuery
General Troubleshooting
Still having issues?
-
Enable debug mode:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false); -
Check error logs:
- Review
wp-content/debug.log - Check server error logs
- Review
-
Test in safe mode:
- Deactivate all plugins except WooCommerce and Appointments
- Switch to default theme
- If it works, reactivate plugins one by one to find the conflict
-
Contact support:
- Submit a support ticket
- Include error logs, PHP version, WordPress version, and plugin versions
- Describe steps to reproduce the issue
Version Requirements
Minimum Requirements:
- WordPress: 6.0+
- WooCommerce: 8.0+
- PHP: 7.4+ (8.0+ recommended)
- MySQL: 5.7+ or MariaDB 10.3+
Recommended:
- WordPress: Latest version
- WooCommerce: Latest version
- PHP: 8.1 or 8.2
- MySQL: 8.0+ or MariaDB 10.6+
Always keep WordPress, WooCommerce, and all plugins updated to the latest versions for best compatibility and security.