{"id":369492,"date":"2026-09-17T19:20:18","date_gmt":"2026-09-17T19:20:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/student-project-portfolio\/"},"modified":"2026-09-17T19:20:00","modified_gmt":"2026-09-17T19:20:00","slug":"agb-web-designs-student-project-portfolio","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/agb-web-designs-student-project-portfolio\/","author":23566936,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.0","stable_tag":"3.0.0","tested":"7.1.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"AGB Web Designs Student Project Portfolio","header_author":"AGB Web Designs","header_description":"Build a complete student portfolio site or add unlimited structured college project cards to an existing WordPress site.","assets_banners_color":"","last_updated":"2026-09-17 19:20:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"bigatron5000","date":"2026-09-17 19:20:00","revision":3700863}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3700909,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3700909,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":{"agb-web-designs-student-project-portfolio\/project-grid":{"apiVersion":3,"name":"agb-web-designs-student-project-portfolio\/project-grid","version":"0.5.0","title":"Student Project Grid","category":"widgets","icon":"portfolio","description":"Display your student portfolio projects in a responsive grid.","textdomain":"agb-web-designs-student-project-portfolio","attributes":{"columns":{"type":"number","default":3},"showCourse":{"type":"boolean","default":true},"showTechnologies":{"type":"boolean","default":true}},"editorScript":"file:.\/index.js","style":"file:..\/..\/assets\/project-grid.css"}},"tagged_versions":["3.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[8108,148076,789,10302,17659],"plugin_category":[43],"plugin_contributors":[281352],"plugin_business_model":[],"class_list":["post-369492","plugin","type-plugin","status-publish","hentry","plugin_tags-career","plugin_tags-gutenberg","plugin_tags-portfolio","plugin_tags-projects","plugin_tags-students","plugin_category-customization","plugin_contributors-bigatron5000","plugin_committers-bigatron5000"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/agb-web-designs-student-project-portfolio\/assets\/icon-128x128.png?rev=3700909","icon_2x":"https:\/\/ps.w.org\/agb-web-designs-student-project-portfolio\/assets\/icon-256x256.png?rev=3700909","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Student Project Portfolio helps students turn coursework, capstones, research, and personal projects into a professional portfolio without manually designing every project entry.<\/p>\n\n<p>Features include:\n* Unlimited project entries.\n* A structured Projects post type.\n* Built-in student-project fields with per-project visibility controls.\n* Profile information for name, headline, introduction, contact details, LinkedIn, GitHub, resume, location, and profile photo.\n* Visual, non-destructive profile-photo crop editor with display size and shape controls.\n* Per-project field visibility toggles so individual projects can omit fields without deleting their values.\n* Project Categories for organizing projects by discipline or type.\n* Frontend project search that matches project titles and Technologies Used, plus category filtering.\n* Complete Portfolio mode that automatically creates a portfolio page.\n* Projects Only mode for use with Gutenberg, Elementor, Beaver Builder, or another page-building workflow.\n* Student Project Grid Gutenberg block.\n* [agbsp_student_projects] shortcode.\n* [agbsp_student_portfolio] shortcode.\n* Responsive project cards and a polished default portfolio style.\n* Schema.org JSON-LD for the student profile and published projects.\n* Semantic Person and CreativeWork markup in Complete Portfolio output.\n* Public machine-readable portfolio REST endpoint, with email\/phone exposure opt-in and off by default.\n* Career Metadata for target roles, skills, institution, degree\/program, graduation, and availability.\n* Optional public career-profile REST feed for future recruiter\/search integrations.<\/p>\n\n<p>Projects -&gt; Settings -&gt; General includes controls for portfolio mode, project-grid columns, Course visibility, and Technologies visibility. Projects -&gt; Settings -&gt; Career Metadata stores structured career information and controls the optional public career feed. Projects -&gt; Settings -&gt; About shows plugin version, AGB Web Designs branding, developer credit, update guidance, and core plugin details.<\/p>\n\n<p>An optional Student Project Portfolio Pro add-on adds custom fields, field reordering, and advanced visual customization while this plugin remains fully functional on its own.<\/p>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Renamed the plugin and permalink namespace to use the distinctive AGB Web Designs brand.<\/li>\n<li>Re-prefixed WordPress declarations, stored-data keys, AJAX actions, asset handles, and shortcodes with the unique AGBSP prefix.<\/li>\n<li>Hardened JSON-LD output encoding for safe script embedding.<\/li>\n<li>Updated the WordPress.org contributor username.<\/li>\n<\/ul>\n\n<h4>2.7.4<\/h4>\n\n<ul>\n<li>Refactored Complete Portfolio project-grid rendering to satisfy WordPress Plugin Check without changing frontend behavior.<\/li>\n<\/ul>\n\n<h4>2.7.3<\/h4>\n\n<ul>\n<li>Added WordPress and PHP minimum-version headers to the main plugin file.<\/li>\n<li>Updated submission documentation and current feature descriptions.<\/li>\n<li>Fixed the normalized what_you_learned REST API alias.<\/li>\n<li>Preserved frontend filtering data attributes in Complete Portfolio mode while documenting the renderer's internal escaping.<\/li>\n<\/ul>\n\n<h4>2.7.2<\/h4>\n\n<ul>\n<li>Adjusted project visibility and ordering input handling for WordPress Plugin Check compatibility.<\/li>\n<\/ul>\n\n<h4>2.7.1<\/h4>\n\n<ul>\n<li>Improved WordPress coding-standards compliance for sanitization, escaping, internationalization comments, and URL parsing.<\/li>\n<li>Updated the readme Tested up to value for the current WordPress release.<\/li>\n<\/ul>\n\n<h4>2.7.0<\/h4>\n\n<ul>\n<li>Added hierarchical Project Categories.<\/li>\n<li>Added frontend project search by project title and Technologies Used.<\/li>\n<li>Added category filtering and filter reset controls.<\/li>\n<li>Added project categories to the public portfolio REST API.<\/li>\n<\/ul>\n\n<h4>2.6.2<\/h4>\n\n<ul>\n<li>Renamed Career Data to Career Metadata throughout the Free settings interface.<\/li>\n<\/ul>\n\n<h4>2.6.1<\/h4>\n\n<ul>\n<li>About now displays the active Pro add-on version when Pro is enabled.<\/li>\n<\/ul>\n\n<h4>2.6.0<\/h4>\n\n<ul>\n<li>Moved Career Metadata and the optional public career-profile feed into Free.<\/li>\n<li>Added migration from legacy Pro career data.<\/li>\n<li>Added machine-discovery metadata for the public career-profile feed.<\/li>\n<\/ul>\n\n<h4>2.5.3<\/h4>\n\n<ul>\n<li>Fixed Pro add-on status detection on the About tab.<\/li>\n<\/ul>\n\n<h4>2.5.0<\/h4>\n\n<ul>\n<li>Make Minimal the default Complete Portfolio style.<\/li>\n<li>Show the Free style selector with Pro preset previews and an upgrade note.<\/li>\n<li>Add a portfolio-style filter so the Pro add-on can switch the underlying presentation cleanly.<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>Added drag-and-drop project reordering to the Projects list.<\/li>\n<li>Added accessible move up\/down controls as a non-drag alternative.<\/li>\n<li>Project grids, complete portfolios, and the public portfolio API now share the saved project order.<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Updated plugin branding to AGB Web Designs, with Adam Bennett credited as developer.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Added an About settings tab with version, creator, license, Pro status, update guidance, and the public portfolio API endpoint.<\/li>\n<li>Added a direct link to the standard WordPress Updates screen.<\/li>\n<li>Removed stale documentation references to the former Free Fields tab.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Simplified Free settings by removing the global Fields tab; built-in fields are always available and can be shown\/hidden per project.<\/li>\n<li>The General tab now displays only the shortcode that matches the selected Portfolio Mode.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Omit empty normalized project properties from the public portfolio API for cleaner output.<\/li>\n<li>Correct the internal plugin version constant to match the release version.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Decoded HTML entities in public API titles, labels, profile text, and field values.<\/li>\n<li>Added stable machine-friendly project properties for course, semester, role, technologies, problem, solution, result, what_you_learned, GitHub, and demo URLs.<\/li>\n<li>Technologies are now exposed as a normalized array while the existing generic fields object remains available for backward compatibility.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added Schema.org Person + CreativeWork JSON-LD for portfolio pages.<\/li>\n<li>Added semantic structured markup to Complete Portfolio and project cards.<\/li>\n<li>Added a public machine-readable portfolio API at \/wp-json\/agb-web-designs-student-project-portfolio\/v1\/portfolio.<\/li>\n<li>Added an opt-in control for exposing email and phone in machine-readable data; contact exposure is off by default.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Moved custom field creation and field reordering to the optional Pro add-on.<\/li>\n<li>Free continues to provide unlimited projects and all built-in project fields.<\/li>\n<li>Preserves legacy custom-field definitions during upgrade so Pro can migrate\/use them without data loss.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Added a visible Technologies Used label to project output.<\/li>\n<li>Improved vertical spacing between structured project fields.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fixed frontend rendering so Role, Problem, Solution \/ Approach, Result, and What You Learned display when enabled and visible for a project.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added per-project visibility toggles beside every built-in and custom project field.<\/li>\n<li>Hidden fields keep their saved values and can be turned back on later.<\/li>\n<li>Project cards now honor individual field visibility in addition to the global Fields configuration.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added a visual profile image crop editor with drag-to-reposition, zoom, rotation, display size, and shape controls.<\/li>\n<li>Cropped profile images are saved as new Media Library attachments; original uploads remain untouched.<\/li>\n<li>Removed the old focal-point sliders from the Profile settings screen.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed profile-photo focal-point preview so 0 and negative values update live correctly.<\/li>\n<li>Extended horizontal and vertical image positioning from -100% to 200%.<\/li>\n<li>Admin preview now uses the same large image source and display rules as the public portfolio for closer one-to-one positioning.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added horizontal and vertical focal-point controls for profile photos.<\/li>\n<li>Added an 80\u2013240 px profile-photo size control.<\/li>\n<li>Added Circle, Rounded, and Square profile-photo shapes.<\/li>\n<li>Added a live Profile settings preview without destructively cropping the Media Library image.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added WordPress Media Library selection for profile images.<\/li>\n<li>Added uploaded resume support for PDF, DOC, and DOCX files, including public view\/download links.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Removed the former three-project creation cap. Projects are now unlimited.<\/li>\n<li>Removed payment and license-gating code from the free core plugin.<\/li>\n<li>Kept Complete Portfolio and Projects Only modes fully functional.<\/li>\n<li>Kept profile, custom fields, Gutenberg block, shortcodes, and generated portfolio page in the free plugin.<\/li>\n<li>Standardized the free Complete Portfolio output on one polished default style.<\/li>\n<li>Prepared the core plugin for an optional Pro styling add-on.<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>Added distinct typography treatments to the original Complete Portfolio style presets.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Added Complete Portfolio and Projects Only modes.<\/li>\n<li>Complete Portfolio mode automatically creates a Portfolio page using [agbsp_student_portfolio].<\/li>\n<li>Added Profile settings for personal\/contact information and profile links.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added configurable built-in fields and custom project fields.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial MVP.<\/li>\n<\/ul>","raw_excerpt":"Build a complete student portfolio site from structured profile and project data, or place project cards inside an existing WordPress site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369492"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bigatron5000"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369492"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369492"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369492"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369492"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369492"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}