=== AGB Web Designs Student Project Portfolio === Contributors: bigatron5000 Tags: portfolio, students, projects, career, gutenberg Requires at least: 6.2 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 3.0.0 License: GPLv2 or later Build a complete student portfolio site from structured profile and project data, or place project cards inside an existing WordPress site. == Description == Student Project Portfolio helps students turn coursework, capstones, research, and personal projects into a professional portfolio without manually designing every project entry. Features include: * Unlimited project entries. * A structured Projects post type. * Built-in student-project fields with per-project visibility controls. * Profile information for name, headline, introduction, contact details, LinkedIn, GitHub, resume, location, and profile photo. * Visual, non-destructive profile-photo crop editor with display size and shape controls. * Per-project field visibility toggles so individual projects can omit fields without deleting their values. * Project Categories for organizing projects by discipline or type. * Frontend project search that matches project titles and Technologies Used, plus category filtering. * Complete Portfolio mode that automatically creates a portfolio page. * Projects Only mode for use with Gutenberg, Elementor, Beaver Builder, or another page-building workflow. * Student Project Grid Gutenberg block. * [agbsp_student_projects] shortcode. * [agbsp_student_portfolio] shortcode. * Responsive project cards and a polished default portfolio style. * Schema.org JSON-LD for the student profile and published projects. * Semantic Person and CreativeWork markup in Complete Portfolio output. * Public machine-readable portfolio REST endpoint, with email/phone exposure opt-in and off by default. * Career Metadata for target roles, skills, institution, degree/program, graduation, and availability. * Optional public career-profile REST feed for future recruiter/search integrations. Projects -> Settings -> General includes controls for portfolio mode, project-grid columns, Course visibility, and Technologies visibility. Projects -> Settings -> Career Metadata stores structured career information and controls the optional public career feed. Projects -> Settings -> About shows plugin version, AGB Web Designs branding, developer credit, update guidance, and core plugin details. 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. == Changelog == = 3.0.0 = * Renamed the plugin and permalink namespace to use the distinctive AGB Web Designs brand. * Re-prefixed WordPress declarations, stored-data keys, AJAX actions, asset handles, and shortcodes with the unique AGBSP prefix. * Hardened JSON-LD output encoding for safe script embedding. * Updated the WordPress.org contributor username. = 2.7.4 = * Refactored Complete Portfolio project-grid rendering to satisfy WordPress Plugin Check without changing frontend behavior. = 2.7.3 = * Added WordPress and PHP minimum-version headers to the main plugin file. * Updated submission documentation and current feature descriptions. * Fixed the normalized what_you_learned REST API alias. * Preserved frontend filtering data attributes in Complete Portfolio mode while documenting the renderer's internal escaping. = 2.7.2 = * Adjusted project visibility and ordering input handling for WordPress Plugin Check compatibility. = 2.7.1 = * Improved WordPress coding-standards compliance for sanitization, escaping, internationalization comments, and URL parsing. * Updated the readme Tested up to value for the current WordPress release. = 2.7.0 = * Added hierarchical Project Categories. * Added frontend project search by project title and Technologies Used. * Added category filtering and filter reset controls. * Added project categories to the public portfolio REST API. = 2.6.2 = * Renamed Career Data to Career Metadata throughout the Free settings interface. = 2.6.1 = * About now displays the active Pro add-on version when Pro is enabled. = 2.6.0 = * Moved Career Metadata and the optional public career-profile feed into Free. * Added migration from legacy Pro career data. * Added machine-discovery metadata for the public career-profile feed. = 2.5.3 = * Fixed Pro add-on status detection on the About tab. = 2.5.0 = * Make Minimal the default Complete Portfolio style. * Show the Free style selector with Pro preset previews and an upgrade note. * Add a portfolio-style filter so the Pro add-on can switch the underlying presentation cleanly. = 2.4.0 = * Added drag-and-drop project reordering to the Projects list. * Added accessible move up/down controls as a non-drag alternative. * Project grids, complete portfolios, and the public portfolio API now share the saved project order. = 2.3.1 = * Updated plugin branding to AGB Web Designs, with Adam Bennett credited as developer. = 2.3.0 = * Added an About settings tab with version, creator, license, Pro status, update guidance, and the public portfolio API endpoint. * Added a direct link to the standard WordPress Updates screen. * Removed stale documentation references to the former Free Fields tab. = 2.2.2 = * Simplified Free settings by removing the global Fields tab; built-in fields are always available and can be shown/hidden per project. * The General tab now displays only the shortcode that matches the selected Portfolio Mode. = 2.2.1 = * Omit empty normalized project properties from the public portfolio API for cleaner output. * Correct the internal plugin version constant to match the release version. = 2.2.0 = * Decoded HTML entities in public API titles, labels, profile text, and field values. * Added stable machine-friendly project properties for course, semester, role, technologies, problem, solution, result, what_you_learned, GitHub, and demo URLs. * Technologies are now exposed as a normalized array while the existing generic fields object remains available for backward compatibility. = 2.1.0 = * Added Schema.org Person + CreativeWork JSON-LD for portfolio pages. * Added semantic structured markup to Complete Portfolio and project cards. * Added a public machine-readable portfolio API at /wp-json/agb-web-designs-student-project-portfolio/v1/portfolio. * Added an opt-in control for exposing email and phone in machine-readable data; contact exposure is off by default. = 2.0.0 = * Moved custom field creation and field reordering to the optional Pro add-on. * Free continues to provide unlimited projects and all built-in project fields. * Preserves legacy custom-field definitions during upgrade so Pro can migrate/use them without data loss. = 1.4.2 = * Added a visible Technologies Used label to project output. * Improved vertical spacing between structured project fields. = 1.4.1 = * Fixed frontend rendering so Role, Problem, Solution / Approach, Result, and What You Learned display when enabled and visible for a project. = 1.4.0 = * Added per-project visibility toggles beside every built-in and custom project field. * Hidden fields keep their saved values and can be turned back on later. * Project cards now honor individual field visibility in addition to the global Fields configuration. = 1.3.0 = * Added a visual profile image crop editor with drag-to-reposition, zoom, rotation, display size, and shape controls. * Cropped profile images are saved as new Media Library attachments; original uploads remain untouched. * Removed the old focal-point sliders from the Profile settings screen. = 1.2.1 = * Fixed profile-photo focal-point preview so 0 and negative values update live correctly. * Extended horizontal and vertical image positioning from -100% to 200%. * Admin preview now uses the same large image source and display rules as the public portfolio for closer one-to-one positioning. = 1.2.0 = * Added horizontal and vertical focal-point controls for profile photos. * Added an 80–240 px profile-photo size control. * Added Circle, Rounded, and Square profile-photo shapes. * Added a live Profile settings preview without destructively cropping the Media Library image. = 1.1.0 = * Added WordPress Media Library selection for profile images. * Added uploaded resume support for PDF, DOC, and DOCX files, including public view/download links. = 1.0.0 = * Removed the former three-project creation cap. Projects are now unlimited. * Removed payment and license-gating code from the free core plugin. * Kept Complete Portfolio and Projects Only modes fully functional. * Kept profile, custom fields, Gutenberg block, shortcodes, and generated portfolio page in the free plugin. * Standardized the free Complete Portfolio output on one polished default style. * Prepared the core plugin for an optional Pro styling add-on. = 0.5.2 = * Added distinct typography treatments to the original Complete Portfolio style presets. = 0.5.0 = * Added Complete Portfolio and Projects Only modes. * Complete Portfolio mode automatically creates a Portfolio page using [agbsp_student_portfolio]. * Added Profile settings for personal/contact information and profile links. = 0.2.0 = * Added configurable built-in fields and custom project fields. = 0.1.0 = * Initial MVP.