Releases: moghadam-pro/portfolio-wp-plugin
Release list
v1.1.0
MPRO Portfolio v1.1.0
Version 1.1.0 introduces a major architectural update focused on stability, cleaner administration, structured portfolio data, reusable presentation styles, and improved integration with WordPress, Elementor, and Rank Math SEO.
Highlights
- Rebuilt the Portfolio admin menu architecture
- Eliminated duplicate Tags and Categories menu items
- Added three reusable portfolio card styles
- Added structured project metadata
- Added Elementor integration
- Added Rank Math SEO variables
- Added Single, Archive, Category, and Tag templates
- Improved compatibility with previous plugin versions
- Added runtime and static verification checks
Admin Menu Improvements
The Portfolio menu now uses a single controlled registration flow.
Submenu order:
- All Portfolio
- Add Portfolio
- Tags
- Categories
- Styles
Automatic WordPress menu generation is disabled for the Portfolio post type and its taxonomies, preventing duplicate submenu items and inconsistent ordering.
Portfolio Content Fields
Each portfolio item supports:
- Title
- Short Description
- Featured Image
- Separate Cover Image
- Client or Company
- Project URL
- Publication Date
- Implementation Date
- Project Duration
- Duration Unit
- Role in Project
- Tools Used
- Collaborators
- Additional Metadata
- Categories
- Tags
- Featured Portfolio status
- Card Style selection
- Single Template selection
- Full WordPress editor content
Structured Project Data
Project Duration now supports a numeric value and unit.
Available units include:
- Days
- Weeks
- Months
- Years
Tools, collaborators, and additional metadata can be managed through repeatable fields instead of comma-separated text.
Collaborator entries support:
- Name
- Role
- URL
Portfolio Card Styles
Three built-in card styles are included:
- Clean
- Editorial
- Immersive
Card styles can be selected globally or individually for each portfolio item.
Cards can be used through:
- Shortcodes
- Elementor
- WordPress template loops
- Archive templates
- PHP helper functions
Frontend Templates
The plugin includes templates for:
- Single Portfolio
- Portfolio Archive
- Portfolio Categories
- Portfolio Tags
- Portfolio Cards
Archive templates use the native WordPress main query for better pagination, filtering, and compatibility.
Templates can be overridden from the active theme.
Elementor Integration
A dedicated Portfolio Grid widget is included.
Available controls include:
- Manual portfolio selection
- Latest portfolios
- Featured portfolios
- Category filtering
- Tag filtering
- Card style selection
- Responsive columns
- Item count
- Ordering
- Pagination
Published Elementor templates can also be assigned as custom card or single portfolio templates.
The plugin remains functional when Elementor is not installed or activated.
Shortcodes
Display a portfolio grid:
[mpro_portfolio]
Display selected portfolio items:
[mpro_portfolio ids="123,456,789" style="editorial" columns="3"]
Display featured portfolio items:
[mpro_portfolio featured="true" style="immersive" columns="2"]
Display a category archive:
[mpro_portfolio category="product-design" posts_per_page="12" pagination="true"]
Display a single portfolio card:
[mpro_portfolio_card id="123" style="clean"]
PHP Template Helpers
Render a portfolio card inside a WordPress loop:
<?php mpro_portfolio_the_card( get_the_ID(), 'editorial' ); ?>Return a portfolio card as HTML:
<?php
echo mpro_portfolio_get_card(
get_the_ID(),
'clean'
);
?>Rank Math SEO Integration
Version 1.1.0 adds custom Rank Math replacement variables for:
- Short Description
- Role
- Duration
- Tools
- Client
The Portfolio post type remains publicly queryable and compatible with Rank Math titles, descriptions, schema, Open Graph metadata, and XML sitemap settings.
The plugin continues to work when Rank Math is not installed or activated.
REST API Support
Portfolio content is available through the WordPress REST API.
Registered portfolio metadata is exposed where appropriate and can be used by:
- Headless WordPress projects
- Custom frontend applications
- Gutenberg blocks
- External integrations
Backward Compatibility
Version 1.1.0 includes compatibility handling for metadata created by earlier MPRO Portfolio builds.
Existing portfolio content should remain available after upgrading.
The plugin does not delete portfolio posts, taxonomy terms, or project metadata during uninstall.
Testing and Verification
The following checks were completed for version 1.1.0:
- Plugin activation in a real WordPress runtime
- Portfolio post type registration
- Portfolio Category registration
- Portfolio Tag registration
- Portfolio item creation
- Portfolio metadata registration
- Portfolio card rendering
- Manual portfolio grid rendering
- Shortcode rendering
- Legacy duration metadata reading
- Unlimited item count support
- Admin menu ordering
- Duplicate submenu prevention
- PHP syntax validation
- JavaScript syntax validation
- ZIP archive integrity
- Package cleanliness
- English-only source text verification
Runtime verification was completed using WordPress 6.5.
The codebase supports PHP 7.4 or later. Runtime testing in the available environment was performed using a newer PHP version.
Elementor and Rank Math integrations should also be verified on the target staging environment using the exact installed versions of WordPress, Elementor, Rank Math, and the active theme.
Upgrade Notes
Before upgrading:
- Create a database and files backup.
- Deactivate the previous plugin version.
- Upload the new ZIP file.
- Replace the existing plugin when prompted.
- Activate MPRO Portfolio.
- Open Settings → Permalinks.
- Click Save Changes.
- Verify the Portfolio menu and frontend templates.
Fixed
- Fixed duplicated Portfolio Categories submenu
- Fixed duplicated Portfolio Tags submenu
- Fixed inconsistent submenu ordering
- Removed the previous remove-and-recreate menu approach
- Improved archive query behavior
- Improved compatibility with Elementor-disabled environments
- Improved compatibility with Rank Math-disabled environments
- Improved legacy metadata handling
Changed
- Rebuilt the admin menu architecture
- Reworked project duration fields
- Reworked tools as repeatable entries
- Reworked collaborators as structured entries
- Separated Cover Image from Featured Image
- Improved template loading and theme overrides
- Improved shortcode attribute handling
- Improved plugin packaging and repository files
Added
- Clean card style
- Editorial card style
- Immersive card style
- Elementor Portfolio Grid widget
- Manual portfolio selection
- Featured portfolio filtering
- Taxonomy archive templates
- PHP card helper functions
- Rank Math replacement variables
- REST API metadata support
- Migration compatibility for previous metadata
- Runtime test report
- GitHub-ready README documentation
Known Verification Limits
The following areas require final validation on the target staging website:
- Elementor editor controls
- Custom Elementor template rendering
- Rank Math metadata output
- Active theme CSS compatibility
- Third-party cache plugin compatibility
- Multilingual plugin compatibility
- PHP 7.4 runtime behavior
Checksums
Use the SHA-256 file included with the release package to verify archive integrity.
v1.0.1
Changelog
All notable changes to MPRO Portfolio are documented in this file.
The project follows Semantic Versioning.
[1.0.1] - 2026-06-30
Fixed
in_array()call in the Styles settings screen now uses strict type comparison, preventing Elementor template checkboxes from incorrectly appearing checked due to PHP type coercion.- Elementor card style now falls back to Style 1 (Minimal) when Elementor is deactivated after a template was selected, instead of silently rendering nothing.
- Removed a dead
admin_inithook and its emptyregister_settings()method fromMPRO_PF_Admin_Menu— settings registration was already handled correctly byMPRO_PF_Styles. - Admin repeater "Add Tool" button now builds new rows via jQuery DOM methods instead of HTML string concatenation, eliminating a potential XSS vector from unescaped data attributes.
Added
.vscode/settings.jsonwith Intelephense WordPress stubs enabled, resolving all false-positive "Undefined function" IDE diagnostics across every plugin file.
[1.0.0] - 2026-06-30
Added
- Portfolio custom post type with a dedicated top-level admin menu.
- Native portfolio categories and tags.
- Project overview, implementation date, duration, role, tools, metadata, collaborators, cover image, featured status, and presentation settings.
- Clean, Editorial, and Immersive built-in card styles.
- Built-in single and archive templates with theme override support.
- Elementor Portfolio Grid widget with manual selection, taxonomy, featured, ordering, layout, and pagination controls.
- Automatic discovery and rendering of published Elementor Saved Templates.
- Portfolio grid and single-card shortcodes.
- Rank Math defaults, fallback description, and portfolio replacement variables.
- Custom post-list columns, sorting, and filters.
- GitHub Actions PHP syntax validation workflow.