Skip to main content
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:
  1. CSS Variables - Quick styling changes
  2. WordPress Hooks - Modify behavior and output
  3. Custom Templates - Override default templates
  4. 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:
Then style with CSS:

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

  1. Create directory: wp-content/themes/your-theme/visual-portfolio/
  2. Copy template from plugin to theme
  3. Modify as needed
Example: Custom Title Template Create: 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

  • Use CSS variables for easy theme switching
  • Avoid !important unless absolutely necessary
  • Test responsive behavior
  • Use browser dev tools for debugging
  • Keep overrides minimal and maintainable
  • Document your changes
  • Test after plugin updates
  • Use child themes for changes
  • Always check event.namespace === ‘vpf’
  • Use early returns for better performance
  • Test thoroughly before deployment
  • Avoid blocking operations
  • 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