WP Manifestindependent plugin directory
manifest / content / tonys-sportspress-enhancements

Tonys SportsPress Enhancements WP Registry grade D+. High-severity findings · 2 findingsWP RegistryHigh-severity findings · 2 findingsOpen the reportD+

Suite of enhancements for the SportsPress plugin. For Tony, By Tony

★ 1stars
31release downloads
v0.1.23latest · 2mo ago

Install

Download tonys-sportspress-enhancements-v0.1.23.zip From the v0.1.23 release on GitHub, Aug 1, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/anthonyscorrea/tonys-sportspress-enhancements/releases/download/v0.1.23/tonys-sportspress-enhancements-v0.1.23.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

Suite of enhancements for the SportsPress plugin, including custom event permalinks, Open Graph tags, and automatic featured image generation for events.

Description

Tony's SportsPress Enhancements is a collection of add-ons for the SportsPress plugin. It provides:

  • Custom event permalinks for sp_event post types, including season and team slugs.
  • Open Graph meta tags for events, with dynamic titles, descriptions, and images.
  • Automatic featured image generation for events, combining team colors and logos into a shareable image.
  • Printable team schedules with season-aware venue colors and a print-friendly calendar layout.
  • Optional MCP integration exposing read-only SportsPress data through the WordPress Abilities API and official MCP Adapter.

Features

  • Custom rewrite rules and permalinks for SportsPress events.
  • Open Graph integration for better social sharing.
  • Dynamic, cached event images based on team data.
  • Printable schedule pages linked from team profiles.
  • Toggleable MCP abilities for events, teams, players, staff, venues, leagues, seasons, positions, and standings.
  • Compatible with WordPress 4.5+ and PHP 5.6+.

Installation

  1. Upload the plugin files to the /wp-content/plugins/tonys-sportspress-enhancements/ directory, or install via the WordPress plugin repository.
  2. Activate the plugin through the 'Plugins' menu in WordPress.
  3. Make sure the SportsPress plugin is installed and activated.

To enable MCP access, install and activate the official WordPress MCP Adapter, then open SportsPress → Tony's Settings → MCP and select Enable MCP access. WordPress 6.9 or newer is required for this optional feature. The public, read-only MCP endpoint is available at /wp-json/tonys-sportspress-mcp/v1 without authentication. It exposes only published entities and upcoming events. The plugin uses a locked, subscriber-level service identity internally because the official adapter ties HTTP sessions to WordPress users; clients do not receive or send its credentials. Clearing the checkbox disables and unregisters the endpoint and all MCP abilities without changing SportsPress data.

Frequently Asked Questions

Q: Does this plugin require SportsPress?
A: Yes, it extends the functionality of the SportsPress plugin.

Q: How are event images generated?
A: When an event is viewed or shared, a featured image is generated using the primary colors and logos of the participating teams.


This plugin is not affiliated with or endorsed by ThemeBoy or the official SportsPress plugin.

Releases

17 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v0.1.23 latest
Aug 1, 2026 2mo ago
tonys-sportspress-enhancements-v0.1.23.zip
3
Jul 11, 2026 3mo ago
tonys-sportspress-enhancements-v0.1.21.zip
1
Jul 1, 2026 3mo ago
tonys-sportspress-enhancements-v0.1.20.zip
3
Jun 27, 2026 3mo ago
tonys-sportspress-enhancements-v0.1.19.zip
2
Jun 25, 2026 4mo ago
tonys-sportspress-enhancements-v0.1.17.zip
1
Jun 5, 2026 4mo ago
tonys-sportspress-enhancements-v0.1.16.zip
2
May 18, 2026 5mo ago
tonys-sportspress-enhancements-v0.1.15.zip
1
Apr 30, 2026 5mo ago
tonys-sportspress-enhancements-v0.1.14.zip
1
Apr 29, 2026 5mo ago
tonys-sportspress-enhancements-v0.1.13.zip
1
Apr 28, 2026 5mo ago
tonys-sportspress-enhancements-v0.1.12.zip
3
Apr 24, 2026 6mo ago
tonys-sportspress-enhancements-v0.1.11.zip
2
Apr 11, 2026 6mo ago
tonys-sportspress-enhancements-v0.1.10.zip
1
Apr 4, 2026 6mo ago
tonys-sportspress-enhancements-v0.1.9.zip
1
Apr 2, 2026 6mo ago
tonys-sportspress-enhancements-v0.1.8.zip
1
Apr 1, 2026 6mo ago
tonys-sportspress-enhancements-v0.1.7.zip
1
Apr 1, 2026 6mo ago
tonys-sportspress-enhancements-v0.1.6.zip
1
Mar 25, 2026 7mo ago
tonys-sportspress-enhancements-v0.1.4.zip
6
D+ grade

Security

Tonys SportsPress Enhancements 0.1.23 · audited by WP Registry

High-severity findings.

1 high 1 medium
Audited release
0.1.23
Findings
2
Worst severity
high
Content hash
207c264eadf4c8224c78d3c7…

Findings

  • high Officials Manager assignment-only lock does not apply to REST event updates

    auth_bypass

    The plugin creates role sp_officials_manager with edit_sp_event / edit_sp_events / edit_others_sp_events / edit_published_sp_events (plus primitive edit_posts / delete_posts) while documenting assignment-only access: the full event editor is redirected away and wp_insert_post_data is supposed to freeze title, content, date, slug, status, and author. That freeze returns immediately unless is_admin() is true, so WordPress REST requests (is_admin() false) apply the user's real caps. SportsPress registers sp_event with show_in_rest and rest_base events, and several event REST fields use update_callback SP_REST_API::update_post_meta. An Officials Manager logged into wp-admin (event list / Quick Edit) can send an authenticated PATCH to the events REST route and change published title, content, date, teams, results, format, and day. The editor lock only inspects $_GET['post'] on post.php, so it also misses POST-only saves. Hierarchical taxonomies (league, season, venue) remain in Quick Edit and are not restored by the post-data filter. Subscriber is unaffected; this is the plugin's own restricted staff role.

    includes/sp-officials-manager-role.php:384-420

    Recommendation

    Apply the field freeze whenever tony_sportspress_is_officials_manager_user() is true, including REST and xmlrpc (drop the is_admin() gate). Block REST updates of sp_event for that role except sp_officials. Restore or unset league/season/venue on Quick Edit. Narrow the role to the officials CPT caps plus edit_sp_event for Quick Edit; do not grant edit_others_sp_events / edit_published_sp_events / edit_posts unless those writes are actually intended.

  • medium Unauthenticated matchup image endpoint ignores post status and the rewrite flag

    information_disclosure

    handle_image_request() runs on template_redirect for every frontend request that has $_GET['post'], without checking the head-to-head rewrite query var or is_post_publicly_viewable(). asc_sp_event_prepare_image_request() only requires post_type === sp_event and two team IDs, then get_post() / get_the_title() / logos are used for drafts, private, pending, and password-protected events. An unauthenticated client can enumerate sequential IDs (GET /?post=ID or /head-to-head?post=ID&variant=wide) and receive a PNG of unpublished matchups (team names, colors, logos). Non-event IDs 404-exit the original page, so any public URL that already uses ?post= is also taken over. Contrast: MCP abilities in the same plugin explicitly refuse non-publish/future statuses.

    includes/featured-image-generator.php:774-808

    Recommendation

    Return unless the head-to-head query var is set. Refuse events that are not publicly viewable (publish/future, or password only after the password). Do not exit/404 unrelated requests that merely include ?post=.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.