Skip to main content
This page documents template functions and helper functions available for customizing Visual Portfolio in themes and plugins.

Core Template Functions

visual_portfolio()

Get the main Visual Portfolio singleton instance.
Returns: Visual_Portfolio instance Example:

Output Functions

Portfolio Shortcode

Render a portfolio using the shortcode syntax. Shortcode: [visual_portfolio] Attributes:
  • id (integer) - Saved portfolio layout ID
  • class (string) - Additional CSS classes
  • layout (string) - Layout type (grid, masonry, slider, etc.)
  • items_style (string) - Item style (classic, fade, fly, etc.)
  • items_gap (integer) - Gap between items in pixels
  • items_count (integer) - Number of items to display
  • Plus 100+ additional attributes for customization
Example:

Template Loading Functions

Visual_Portfolio_Templates::include_template()

Load a template file with security validation.
Parameters:
  • $template_name (string) - Template file name without .php extension
  • $args (array) - Variables to pass to template
Template Search Order:
  1. Theme: {theme}/visual-portfolio/{template_name}.php
  2. Pro Plugin: visual-portfolio-pro/templates/{template_name}.php
  3. Free Plugin: visual-portfolio/templates/{template_name}.php
Example:
Creating Custom Template in Theme:
  1. Create directory: {theme}/visual-portfolio/
  2. Copy template from plugin: visual-portfolio/templates/items-list/item.php
  3. Modify as needed
  4. Template will automatically be used instead of default

Portfolio Data Functions

Visual_Portfolio_Get::get_options()

Get portfolio configuration options.
Parameters:
  • $atts (array) - Attributes with ‘id’ or ‘block_id’
Returns: Array of portfolio options or false Example:

Visual_Portfolio_Get::get_output_config()

Get complete output configuration for rendering.
Parameters:
  • $atts (array) - Portfolio attributes
Returns: Array of output configuration Example:

Image Functions

Visual_Portfolio_Images::wp_get_attachment_image_url()

Get attachment image URL with Visual Portfolio image sizes.
Parameters:
  • $attachment_id (int) - Image attachment ID
  • $size (string|array) - Image size name or [width, height]
  • $icon (bool) - Whether to use icon
Returns: Image URL or false Available VP Image Sizes:
  • vp_sm - Small (default: 500px)
  • vp_md - Medium (default: 800px)
  • vp_lg - Large (default: 1280px)
  • vp_xl - Extra Large (default: 1920px)
  • vp_sm_popup - Small popup (default: 500px)
  • vp_md_popup - Medium popup (default: 800px)
  • vp_xl_popup - Extra Large popup (default: 1920px)
Example:

Settings Functions

Visual_Portfolio_Settings::get_option()

Get plugin setting value.
Parameters:
  • $option (string) - Option name
  • $section (string) - Settings section
  • $deprecated_default (string) - Deprecated parameter
Returns: Option value (boolean or string) Common Settings: Images Section (vp_images):
  • lazy_loading - Lazy loading mode (‘vp’, ‘full’, or false)
  • sm - Small image size width
  • md - Medium image size width
  • lg - Large image size width
  • xl - Extra large image size width
General Section (vp_general):
  • filter_taxonomies - Allowed taxonomies for filter
  • no_image - Default placeholder image
Example:

Visual_Portfolio_Settings::update_option()

Update plugin setting value.
Parameters:
  • $option (string) - Option name
  • $section (string) - Settings section
  • $value (string) - New option value
Example:

Asset Functions

Visual_Portfolio_Assets::enqueue_script()

Enqueue a JavaScript file.
Example:

Visual_Portfolio_Assets::enqueue_style()

Enqueue a CSS file.
Example:

Control Functions

Visual_Portfolio_Controls::register()

Register custom controls for portfolio builder.
Parameters:
  • $controls (array) - Array of control definitions
Control Definition:
Example:

Conditional Template Functions

Checking Portfolio Context


Template Variables

When using include_template(), these variables are commonly available:

In Items List Template

In Single Item Template

Example Item Template:

Helper Filters

Modify Portfolio Options

Customize Template Arguments

Override Template Path


Complete Integration Example

Creating a Custom Portfolio Widget