Visual Portfolio provides multiple ways to customize layouts: CSS variables, WordPress hooks, custom templates, and JavaScript events. This guide covers all customization methods.
Customization Methods
Visual Portfolio offers four primary customization approaches:- CSS Variables - Quick styling changes
- WordPress Hooks - Modify behavior and output
- Custom Templates - Override default templates
- JavaScript Events - Extend JavaScript functionality
CSS Customization
CSS Variables
Visual Portfolio uses CSS custom properties for easy styling:Layout-Specific Variables
Slider Layout
Grid and Masonry
Custom CSS Classes
Add custom classes to portfolio blocks:WordPress Hooks
Filter Hooks
Modify Layout Options
Modify Item Output
Customize Item Meta
Action Hooks
Before/After Portfolio
Enqueue Custom Assets
Custom Templates
Template Hierarchy
Visual Portfolio follows WordPress template hierarchy:Override Templates
- Create directory:
wp-content/themes/your-theme/visual-portfolio/ - Copy template from plugin to theme
- Modify as needed
theme/visual-portfolio/items-list/item-parts/title.php
JavaScript Customization
JavaScript Events
Visual Portfolio triggers jQuery events for customization:Extend VP Class
Access VP Instance
Advanced Customization Examples
Custom Grid Columns Based on Screen Size
Add Custom Loading Animation
Custom Filter Integration
Best Practices
CSS customization
CSS customization
- Use CSS variables for easy theme switching
- Avoid !important unless absolutely necessary
- Test responsive behavior
- Use browser dev tools for debugging
Template overrides
Template overrides
- Keep overrides minimal and maintainable
- Document your changes
- Test after plugin updates
- Use child themes for changes
JavaScript hooks
JavaScript hooks
- Always check event.namespace === ‘vpf’
- Use early returns for better performance
- Test thoroughly before deployment
- Avoid blocking operations
Performance
Performance
- Minimize custom JavaScript
- Optimize custom CSS
- Test with many items
- Monitor console for errors
Common Customization Scenarios
Change Default Columns
Add Custom Item Classes
Modify Image Sizes
Debugging
Enable Debug Mode
Check Portfolio Instance
Further Reading
Hooks & Filters
Complete list of WordPress hooks
Custom Templates
Template override guide
JavaScript API
JavaScript methods and events
CSS Variables
Complete CSS variables reference
Source Code Reference
- JavaScript Events:
assets/js/layout-*.js - Template Loading:
classes/class-templates.php - Hook System:
classes/class-visual-portfolio.php - CSS Variables:
templates/items-list/items-style/_variables.scss:1