Avada
Automatic compatibility with Avada’s lazy loading system.Features
- Lazy Load Detection: Automatically detects when Avada’s native lazy loading is enabled
- Smart Fallback: Disables Visual Portfolio’s lazy loading when Avada’s is active to prevent conflicts
- Zero Configuration: Works automatically when both are active
How It Works
Location:classes/3rd/themes/class-avada.php:24
The integration checks Avada’s theme options and disables Visual Portfolio lazy loading if needed:
Setup
No setup required. The integration activates automatically when:- Avada theme is active
- Avada’s lazy loading is enabled in theme options
- Visual Portfolio is installed
Lazy Loading Priority
When both systems are available:- Avada’s lazy load enabled: Uses Avada’s system
- Avada’s lazy load disabled: Uses Visual Portfolio’s system
- Both disabled: No lazy loading applied
Enfold
Comprehensive compatibility with Enfold’s lightbox and lazy loading features.Features
- Lightbox Conflict Prevention: Disables Enfold’s lightbox for portfolio galleries
- Lazy Load Compatibility: Detects and respects Enfold’s lazy loading settings
- Automatic Integration: Works without configuration
Lightbox Integration
Location:classes/3rd/themes/class-enfold.php:49
Visual Portfolio adds the noLightbox class to prevent Enfold’s lightbox from interfering:
Lazy Loading Detection
Location:classes/3rd/themes/class-enfold.php:61
The integration checks Enfold’s lazy loading option:
Configuration
No manual configuration needed. The integration automatically:- Detects Enfold theme activation
- Checks Enfold’s lazy loading settings
- Disables conflicting features
- Applies the
noLightboxclass to all portfolios
Performance Optimization
The integration caches Enfold’s lazy loading option to minimize database queries:classes/3rd/themes/class-enfold.php:21
Blocksy
Deep integration with Blocksy’s customizer and post type system.Features
- Customizer Support: Enables Blocksy customizer options for portfolio post type
- Meta Box Integration: Adds Blocksy’s page options panel to portfolio posts
- Archive Customization: Supports Blocksy’s archive page settings
- REST API Support: Full compatibility with block editor
Customizer Integration
Location:classes/3rd/themes/class-blocksy.php:55
Adds portfolio post type to Blocksy’s supported list:
- Single portfolio post customization
- Archive page layout options
- Header/footer settings
- Sidebar configuration
- Color schemes
Block Editor Meta Box
Location:classes/3rd/themes/class-blocksy.php:72
Enables Blocksy’s meta box in the block editor for portfolio posts:
What You Can Customize
With Blocksy integration, you can customize: Single Portfolio Posts:- Page layout (boxed, full-width, narrow)
- Header visibility and style
- Footer visibility and style
- Sidebar position
- Featured image display
- Post meta information
- Related posts section
- Archive layout
- Grid columns
- Pagination style
- Header configuration
- Breadcrumbs
- Filtering options
Setup
- Install and activate Blocksy theme
- Install Visual Portfolio
- Navigate to Customize > Post Types > Portfolio
- Configure your portfolio settings
- Save and publish
Standalone Usage
Location:classes/3rd/themes/class-blocksy.php:9
The integration can also be used as a standalone code snippet:
functions.php if you want to maintain the integration independently.
Thrive Architect
Compatibility with Thrive Architect’s page rendering system.Features
- Dynamic Style Handling: Special rendering for inline styles
- Content Override Support: Works with Thrive’s page output system
- Shortcode Compatibility: Full support for Visual Portfolio shortcodes
Implementation
Location:classes/3rd/themes/class-thrive-architect.php:32
Because Thrive Architect overrides standard page rendering:
Why This Is Needed
Thrive Architect usestcb_custom_editable_content() to override page output, which can prevent WordPress’s wp_add_inline_style() from working correctly. This integration ensures Visual Portfolio’s dynamic styles (colors, spacing, custom CSS) load properly.
Usage
- Edit a page with Thrive Architect
- Add a Custom HTML or Shortcode element
- Insert your portfolio:
[visual_portfolio id="123"] - Save and preview
General Theme Compatibility
Automatic Detection
All theme integrations activate automatically when:- The theme is active (checked via
get_template()) - Visual Portfolio detects theme-specific functions or options
- No manual configuration is required
Lazy Loading Priority
When multiple lazy loading systems are available: Priority Order:- Theme’s native lazy loading (Avada, Enfold)
- Visual Portfolio’s lazy loading
- WordPress core lazy loading
Lightbox Handling
For themes with built-in lightboxes: Enfold: AutomaticnoLightbox class added
Other themes: May require manual lightbox disabling
CSS Conflicts
If you experience styling issues:- Check your theme’s CSS specificity
- Use browser inspector to identify conflicts
- Add custom CSS in Visual Portfolio > Settings > Custom CSS
- Consider using
!importantfor critical overrides
Hook References
Themes can customize Visual Portfolio behavior using these hooks:Custom Theme Integration
To create a custom integration for your theme:1. Create Integration Class
2. Place in functions.php
Add to your child theme’sfunctions.php:
3. Reference Existing Integrations
Study existing implementations:- Avada:
classes/3rd/themes/class-avada.php - Enfold:
classes/3rd/themes/class-enfold.php - Blocksy:
classes/3rd/themes/class-blocksy.php
Troubleshooting
Portfolio Not Displaying
- Check theme compatibility
- Disable theme lazy loading temporarily
- Clear all caches (theme, plugin, server)
- Check for JavaScript console errors
Styling Issues
- Inspect element to find conflicting CSS
- Check theme’s CSS specificity
- Add custom CSS in Visual Portfolio settings
- Consider adding
!importantdeclarations
Lightbox Conflicts
- Disable theme lightbox for portfolio galleries
- Check for multiple lightbox scripts loading
- Use browser console to identify conflicts
- Contact theme support if persistent
Lazy Loading Problems
- Check which lazy loading system is active
- Disable one system if both are active
- Test with Visual Portfolio lazy loading disabled
- Verify images have correct attributes
Need Help?
If your theme isn’t listed:- Check if it uses a page builder (see Page Builders integration)
- Test with a default WordPress theme to isolate the issue
- Contact Visual Portfolio support with theme details
- Consider creating a custom integration using the examples above