{"id":375823,"date":"2026-10-12T12:42:48","date_gmt":"2026-10-12T12:42:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/alumnicore-alumni-directory-management\/"},"modified":"2026-10-12T12:42:15","modified_gmt":"2026-10-12T12:42:15","slug":"alumnicore","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/alumnicore\/","author":23482235,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1.3","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"AlumniCore \u2013 Alumni Management & Directory","header_author":"Poly Bright Labs","header_description":"A purpose-built alumni directory and registration system for WordPress. Custom indexed database, admin-approved registrations, searchable directory \u2014 no repurposed membership plugins required.","assets_banners_color":"6d7480","last_updated":"2026-10-12 12:42:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/polybrightlabs.com\/alumnicore\/","header_author_uri":"https:\/\/polybrightlabs.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"brandcoremedia","date":"2026-10-12 12:42:15","revision":3741536}},"upgrade_notice":{"1.1.0":"<p>Adds optional profile photos and removes the record limit.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3741534,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3741534,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3741534,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3741534,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3741534,"resolution":"1","location":"assets","locale":"","width":1600,"height":1968},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3741534,"resolution":"2","location":"assets","locale":"","width":1600,"height":1282},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3741534,"resolution":"3","location":"assets","locale":"","width":1600,"height":1965},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3741534,"resolution":"4","location":"assets","locale":"","width":1600,"height":874}},"screenshots":{"1":"The public alumni directory \u2014 search, department\/batch filters, and pagination","2":"An individual alumni profile page","3":"The self-registration form","4":"The AlumniCore Settings screen \u2014 visitor access control and button shortcodes"}},"plugin_section":[],"plugin_tags":[48575,2466,5298,1932,603],"plugin_category":[47,58],"plugin_contributors":[266031],"plugin_business_model":[],"class_list":["post-375823","plugin","type-plugin","status-publish","hentry","plugin_tags-alumni","plugin_tags-directory","plugin_tags-education","plugin_tags-membership","plugin_tags-registration","plugin_category-education-and-support","plugin_category-user-management","plugin_contributors-brandcoremedia","plugin_committers-brandcoremedia"],"banners":{"banner":"https:\/\/ps.w.org\/alumnicore\/assets\/banner-772x250.png?rev=3741534","banner_2x":"https:\/\/ps.w.org\/alumnicore\/assets\/banner-1544x500.png?rev=3741534","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/alumnicore\/assets\/icon-128x128.png?rev=3741534","icon_2x":"https:\/\/ps.w.org\/alumnicore\/assets\/icon-256x256.png?rev=3741534","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/alumnicore\/assets\/screenshot-1.png?rev=3741534","caption":"The public alumni directory \u2014 search, department\/batch filters, and pagination"},{"src":"https:\/\/ps.w.org\/alumnicore\/assets\/screenshot-2.png?rev=3741534","caption":"An individual alumni profile page"},{"src":"https:\/\/ps.w.org\/alumnicore\/assets\/screenshot-3.png?rev=3741534","caption":"The self-registration form"},{"src":"https:\/\/ps.w.org\/alumnicore\/assets\/screenshot-4.png?rev=3741534","caption":"The AlumniCore Settings screen \u2014 visitor access control and button shortcodes"}],"raw_content":"<!--section=description-->\n<p>Most WordPress sites end up managing alumni with a directory plugin here, a membership plugin there, and a theme demo nobody remembers installing. AlumniCore is different: one custom, indexed database built specifically for alumni records, one admin screen, one system of record.<\/p>\n\n<p><strong>Free includes:<\/strong><\/p>\n\n<ul>\n<li>Custom indexed alumni database (fast search and filtering, not a repurposed post type)<\/li>\n<li>Self-registration form via shortcode, with an optional profile photo upload (JPG\/PNG\/WebP\/GIF, 2 MB max)<\/li>\n<li>Admin approval workflow \u2014 every new record starts as Pending<\/li>\n<li>Searchable, filterable public directory via shortcode<\/li>\n<li>Filtering by batch year and department, plus name and company search and sorting<\/li>\n<li>Individual profile pages, with Email and LinkedIn buttons<\/li>\n<li>Admin-configurable required fields \u2014 choose which fields alumni must fill in<\/li>\n<li>CSV export of all records, with a field picker to choose exactly which columns to include<\/li>\n<li>Control over whether the public Email button is shown on the directory and profiles<\/li>\n<li>No record limit and no locked features<\/li>\n<\/ul>\n\n<p><strong>Shortcodes<\/strong><\/p>\n\n<ul>\n<li><code>[alumnicore_directory]<\/code> \u2014 the public, searchable alumni directory, with an individual profile page for each alumnus built in<\/li>\n<li><code>[alumnicore_register]<\/code> \u2014 the self-registration form<\/li>\n<li><code>[alumnicore_register_button]<\/code> \u2014 a button linking to the page set as your Registration page (AlumniCore \u2192 Settings), or pass url=\"https:\/\/\u2026\" directly to skip that setting<\/li>\n<li><code>[alumnicore_login_button]<\/code> \u2014 a login button, returns the visitor to the page they clicked it from<\/li>\n<li><code>[alumnicore_auth_button]<\/code> \u2014 one button that shows \"Log In\" or \"Log Out\" depending on whether the visitor is signed in<\/li>\n<li><code>[alumnicore_forgot_password_button]<\/code> \u2014 links to your site's password reset page<\/li>\n<\/ul>\n\n<p><strong>Access control<\/strong><\/p>\n\n<p>AlumniCore \u2192 Settings lets you restrict the directory, individual profiles, and registration to logged-in WordPress users only, instead of the default of open to all visitors. This uses your site's normal accounts and login page \u2014 there's no separate alumni login system to manage.<\/p>\n\n<p><strong>AlumniCore Pro<\/strong> is a separate add-on sold by Poly Bright Labs. It does not unlock, restrict, or enable anything in this plugin \u2014 everything above is fully available with no limits. Pro adds custom fields: your own additional fields (e.g. enrollment number, field\/industry) on the registration form, profiles, and exports, beyond this plugin's built-in field set. Details: https:\/\/polybrightlabs.com\/alumnicore\/<\/p>\n\n<h4>Personal data<\/h4>\n\n<p>AlumniCore stores the personal data alumni submit through the registration form (name, email, phone, batch year, department, company, designation, city, country, LinkedIn URL, and bio), and displays approved records in the public directory. The plugin integrates with WordPress's core Export Personal Data and Erase Personal Data tools (Settings \u2192 Privacy) so data requests can be fulfilled without manual database work.<\/p>\n\n<h4>Who it's for<\/h4>\n\n<p>Schools, colleges, universities, and institute alumni associations that want an alumni directory living inside their existing WordPress site \u2014 not a separate app, not five stitched-together plugins.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not send data to any service of its own. It does use WordPress's built-in avatar system: when an alumnus has no uploaded photo, the directory shows the WordPress avatar for their email address, which is loaded from Gravatar (gravatar.com, operated by Automattic). The image request contains a one-way hash of the email address, and the visitor's browser makes the request, so Gravatar also sees that visitor's IP address. This is standard WordPress behaviour and can be switched off under Settings \u2192 Discussion \u2192 Avatars (\"Show Avatars\"); the directory then shows no avatar for people without an uploaded photo. Automattic's terms: https:\/\/automattic.com\/terms-of-service\/ \u2014 privacy policy: https:\/\/automattic.com\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>alumnicore<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install directly from the Plugins screen.<\/li>\n<li>Activate the plugin. This creates one new database table (<code>wp_alumnicore_alumni<\/code>) \u2014 no existing tables are touched.<\/li>\n<li>Create a page with the <code>[alumnicore_register]<\/code> shortcode for self-registration.<\/li>\n<li>Create a page with the <code>[alumnicore_directory]<\/code> shortcode for the public directory.<\/li>\n<li>New registrations appear under Alumni \u2192 All Alumni for approval before they're publicly visible.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20create%20a%20new%20database%20table%2C%20or%20reuse%20wordpress%20users%2Fposts%3F\"><h3>Does this create a new database table, or reuse WordPress users\/posts?<\/h3><\/dt>\n<dd><p>A new, custom table (<code>wp_alumnicore_alumni<\/code>) with its own indexes on batch year, department, and status. Alumni records are not WordPress users or posts.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20our%20data%20if%20we%20deactivate%20the%20plugin%3F\"><h3>What happens to our data if we deactivate the plugin?<\/h3><\/dt>\n<dd><p>Nothing. Deactivating only stops the plugin from running \u2014 your data stays in the database. As of 1.0.0, uninstalling the plugin (not just deactivating) also does not delete any data \u2014 there is currently no option to change this.<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20the%20number%20of%20alumni%3F\"><h3>Is there a limit on the number of alumni?<\/h3><\/dt>\n<dd><p>No. There is no record limit, and no feature in this plugin is disabled or locked.<\/p><\/dd>\n<dt id=\"can%20alumni%20edit%20their%20own%20submitted%20details%3F\"><h3>Can alumni edit their own submitted details?<\/h3><\/dt>\n<dd><p>Not yet \u2014 on the roadmap. Admins can approve, reject, or delete any record from Alumni \u2192 All Alumni; there is currently no edit action.<\/p><\/dd>\n<dt id=\"what%20does%20the%20csv%20export%20include%3F\"><h3>What does the CSV export include?<\/h3><\/dt>\n<dd><p>By default, every record and every field, regardless of status (pending, approved, and rejected) and regardless of any filters currently applied on screen \u2014 Bio excepted, which is never included. Use \"Choose fields to export instead\" next to the Export button to pick specific columns for a given export.<\/p><\/dd>\n<dt id=\"can%20i%20control%20which%20fields%20are%20required%2C%20or%20whether%20email%20is%20public%3F\"><h3>Can I control which fields are required, or whether email is public?<\/h3><\/dt>\n<dd><p>Yes, under Alumni \u2192 Settings. You can choose which fields (beyond email, which is always required) must be filled in to register, and whether the Email button shows on the public directory and profile pages.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20wordpress%27s%20export%2Ferase%20personal%20data%20tools%3F\"><h3>Does this plugin support WordPress's Export\/Erase Personal Data tools?<\/h3><\/dt>\n<dd><p>Yes. AlumniCore registers with core's Privacy tools (Settings \u2192 Privacy) so a data request for a given email address exports or removes that person's alumni record.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20my%20theme%3F\"><h3>Does this work with my theme?<\/h3><\/dt>\n<dd><p>Yes. Both shortcodes render with minimal CSS that inherits your theme's typography and colors rather than imposing a design.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Admin-configurable required fields and public email visibility, under Alumni \u2192 Settings \u2014 fully built into this plugin, not reserved for any add-on.<\/li>\n<li>CSV export field picker \u2014 choose exactly which columns to include, built into this plugin.<\/li>\n<li>Internal: these settings are plain local options this plugin owns and sets itself.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Optional profile photo upload on self-registration (falls back to Gravatar, then a default silhouette). Photos are validated by file content, capped at 2 MB, and resized.<\/li>\n<li>Deleting a record, including through a privacy erasure request, also removes its uploaded photo.<\/li>\n<li>No record limit. The CSV export now streams in batches, so large directories export reliably.<\/li>\n<li>All form input is sanitized as it is read, and all output escaped at the point of output.<\/li>\n<li>Stylesheets and scripts are loaded through the WordPress enqueue API.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: directory, self-registration with admin approval, individual profiles, login\/registration button shortcodes, access control, CSV export (protected against spreadsheet formula injection), honeypot and rate limiting, and WordPress Export\/Erase Personal Data integration.<\/li>\n<\/ul>","raw_excerpt":"A purpose-built alumni directory and registration plugin for WordPress \u2014 not a directory or membership plugin repurposed for the job.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/375823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=375823"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brandcoremedia"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=375823"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=375823"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=375823"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=375823"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=375823"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=375823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}