Overview
Visual Portfolio includes a custom post type calledportfolio for organizing and displaying portfolio items. This post type provides a dedicated content structure for showcasing your work, projects, or products.
The Portfolio post type is registered in
Visual_Portfolio_Custom_Post_Type class at classes/class-custom-post-type.php:15Registration
The Portfolio post type is registered during WordPress initialization:Enabling/Disabling
The Portfolio post type can be toggled in settings:1
Navigate to Settings
Go to Visual Portfolio > Settings in the WordPress admin
2
General Tab
Find the “Register Portfolio Post Type” option
3
Toggle Setting
Enable or disable as needed (requires permalink flush)
Post Type Features
Supported Features
The Portfolio post type supports:- Title and editor
- Featured images
- Excerpts
- Custom fields
- Taxonomies (categories and tags)
- Gutenberg editor
- Thumbnail preview in admin
Custom Taxonomies
Portfolio Categories:Admin Interface
Menu Integration
Admin Columns
The admin list includes custom columns:- Featured Image Thumbnail
- Portfolio Categories
- Portfolio Tags
- Date
Filtering by Taxonomies
Visual Portfolio Lists
The plugin also registers avp_lists post type for storing saved portfolio configurations:
Saved Layouts
The
vp_lists post type stores portfolio block configurations, allowing you to create reusable portfolio layouts.- Shortcode column showing usage code
- Block ID for referencing
- Filter by layout type
- Template selector
Capabilities
Custom capabilities for the Portfolio post type:Archive Page Setup
Configure a custom archive page for portfolio items:Archive Mapping
The Archive Mapping feature automatically creates portfolio layouts for archive pages:Gutenberg Integration
Forced Gutenberg Editor
Portfolio post type always uses Gutenberg:Allowed Blocks
Thevp_lists post type restricts available blocks:
Custom Meta Fields
Portfolio settings are stored as post meta:Template Hierarchy
WordPress template files for Portfolio post type:REST API Support
Portfolio post type is exposed via REST API:GET /wp-json/wp/v2/portfolio- List portfolio itemsGET /wp-json/wp/v2/portfolio/{id}- Get single itemPOST /wp-json/wp/v2/portfolio- Create new itemPUT /wp-json/wp/v2/portfolio/{id}- Update itemDELETE /wp-json/wp/v2/portfolio/{id}- Delete item
Sitemap Integration
Portfolio items are included in XML sitemaps:SEO Optimization
Built-in SEO support for portfolio items:Admin Bar Menu
Quick access to portfolio items from the admin bar:Migration Support
When updating from older versions:Related Classes
Visual_Portfolio_Custom_Post_Type- Post type registration (classes/class-custom-post-type.php)Visual_Portfolio_Custom_Post_Meta- Meta fields handling (classes/class-custom-post-meta.php)Visual_Portfolio_Archive_Mapping- Archive page integration (classes/class-archive-mapping.php)Visual_Portfolio_Sitemap- Sitemap integration (classes/class-sitemap.php)
See Also
Content Sources
Using Portfolio items as a content source
Archive Mapping
Configure portfolio archives
Custom Post Meta
Working with portfolio meta data
REST API
Access portfolio items via API