=== WP Club Manager - WordPress Sports Club Plugin===
Contributors: wpclubmanager, leonterry, daveyjake
Tags: club, teams, sport, sports club, club management
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZGGZXX2EQTZ9E
Requires at least: 4.9
Tested up to: 6.7
Requires PHP: 7.4
Stable Tag: 2.4.0
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html

WP Club Manager is easy to set-up and has everything you need to build and manage an amazing sports club website.

== Description ==
= Build A Pro Sports Club Website With No Hassle =
WP Club Manager is a sports plugin used to create and manage a club website with WordPress. Quick and easy to set-up, you can manage clubs, player profiles and performance data, staff, sponsors, league tables, keep track of your fixtures and results and loads more.

= Endorsed by USA Rugby =

> "*It's perfect for the professional sports web developer and the first-time team administrator. Incredibly easy to customize and integrate, I highly recommend WP Club Manager to any sports teams that want a better website!*"
Davey Jacobson, *Information Systems Developer*, [USA Rugby](https://www.usa.rugby)

= Features Include =

* Manage multiple teams in your club
* Player and staff profiles
* Player performance ratings
* Full player statistics
* Informative club profiles with club stats
* Fixtures and results
* Automatically updated league tables
* Match statistics and reports
* Manage club sponsors
* Venue details and maps
* Fixture, results, player, table, sponsor and birthday widgets
* Easily Import matches, players, staff and clubs from a CSV file
* Easy-to-use Shortcodes
* Customize appearance with flexible templates

Find out more about all each feature and more, please visit [our site](https://wpclubmanager.com).

= Supported Sports =

* American Football
* Australian Rules Football
* Baseball
* Basketball
* Cricket
* Field Hockey
* Floorball
* Football (Soccer)
* Gaelic Football
* Handball
* Hurling
* Ice Hockey
* Lacrosse
* Netball
* Rugby League
* Rugby Union
* Volleyball

Find extensive [documentation](https://wpclubmanager.com/documentation/) and [friendly support](https://wpclubmanager.com/support/) at our [plugin website](https://wpclubmanager.com).

= Themes & Extensions =

The WP Club Manager plugin has a growing catalogue of themes to add extra functionality and a professional look to your club website. Browse through our collection of [WP Club Manager themes](https://wpclubmanager.com/themes/).

* [Victory Theme](https://wpclubmanager.com/products/victory/)
* [Scoreline Theme](https://wpclubmanager.com/products/scoreline/)

= Included Languages =

* Arabic – العربية (ar)
* Bulgarian – Български (bg_BG)
* Chinese (China) - 中文 (zh_CN)
* Croatian - Hrvatski (hr)
* Czech – Čeština (cs_CZ)
* Danish – Dansk (da_DK)
* Dutch - Nederlands (nl_NL)
* English - UK (en_GB)
* German - Deutsch (de_DE)
* Finnish - Suomi (fi)
* French – Français (fr_FR)
* Greek - Ελληνικά (el_GR)
* Hebrew - עברית (he_IL)
* Hungarian - Magyar (hu_HU)
* Italian - Italiano (it_IT)
* Latvian - Latviešu (lv_LV)
* Lithuanian - Lietuvių kalba (lt_LT)
* Persian - فارسی (fa_IR)
* Polish - Polski (pl_PL)
* Portuguese (Brazil) – Português do Brasil (pt_BR)
* Portuguese (Portugal) – Português (pt_PT)
* Russian - Русский (ru_RU)
* Slovak - Slovenčina (sk_SK)
* Spanish - Español (es_ES)
* Swedish – Svenska (sv_SE)
* Turkish - Türkçe (tr_TR)
* Vietnamese - Tiếng Việt (vi)

= Getting Involved =

Translators can contribute to WP Club Manager translations at [GlotPress](https://translate.wordpress.org/projects/wp-plugins/wp-club-manager).

Extensible, adaptable, and open source — WP Club Manager is created with developers in mind. Contribute on [GitHub](https://github.com/ClubPress/wp-club-manager).

= Please Rate and Enjoy! =
Please take a moment to leave a review on WordPress.org. Your feedback is much appreciated and helps towards the continued improvement of WP Club Manager.

== Installation ==

= Minimum Requirements =

* WordPress 4.7 or greater
* PHP version 5.2.4 or greater (PHP 7.2 or greater is recommended)
* MySQL version 5.0 or greater (MySQL 5.6 or greater is recommended)

= Automatic installation =

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of WP Club Manager, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type “WP Club Manager” and click Search Plugins. Once you’ve found our plugin you can view details about it such as the the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.

= Manual installation =

The manual installation method involves downloading our plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains [instructions on how to do this here](http://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation).

= Updating =

Automatic updates should work as expected but as always, it is recommended that you backup your site just in case any problems should occur during the update process.

== Frequently Asked Questions ==

= Is this plugin suitable for managing a league website? =

Sorry but we are removing support for leagues as from version 3 so we do not recommend using the league feature available in the current version 2 branch!

= My sport is not supported. How can I add my sport? =

If your sport is not supported please [contact us](https://wpclubmanager.com/contact/) with details of your sport, including any information that may be useful, for example player stats info and player positions. If possible we will add it to the list of supported sports.

= Where can I find documentation and support for the WP Club Manager plugin? =

You can find documentation for the plugin at [WP Club Manager documentation](https://wpclubmanager.com/documentation/) or get [Support](https://wpclubmanager.com/support/)

= Will WP Club Manager work with my theme? =

Yes; WP Club Manager will work with any theme, but may require some styling to make it match nicely. Please see our [docs](https://wpclubmanager.com/documentation/) for help. If you're looking for a theme with built in WP Club Manager integration we recommend [Victory](https://wpclubmanager.com/products/victory).

= Where can I report bugs or contribute to the project? =

You can help improve this plugin by reporting any bugs or contributing to the source code at our [Github repository](https://github.com/ClubPress/wpclubmanager).

= How can I report security bugs? =

You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. [Report a security vulnerability.](https://patchstack.com/database/vdp/wp-club-manager)

== Screenshots ==

1. General plugin settings
2. WP Club Manager admin dashboard
3. Matches admin list table screen
4. Edit/update Match screen
5. Edit/update Player
6. Edit/update League table
7. Front-end Matches List shortcode
8. Front-end Player List shortcode
9. Front-end Match page
10. Front-end Player profile page
11. Front-end League Table

== Changelog ==

= 2.4.0 - 25th May 2026 =

* Feature: Recreate shortcodes as Gutenberg blocks
* Feature: Head-to-head sorting in league tables
* Feature: Support individual/non-team sports
* Feature: Option to remove link on player photo in gallery
* Feature: Include all settings in export/import
* Add: Match calendar view with iCal support
* Fix: Match import not finding existing competitions/teams
* Fix: 404 error on league table pages
* Fix: Accented characters broken in permalinks
* Fix: Scheduled matches returning 404 on frontend
* Fix: Dashboard widget PHP warnings and stats query

= 2.3.3 - 13th April 2026 =

* Fix: League table club logos not showing after 2.3.1

= 2.3.2 - 8th April 2026 =

* Fix: Sub appearances count showing incorrectly
* Fix: PHP 8.x fatal error on player settings page
* Fix: Players List and Standings widgets rendering empty
* Fix: PHP 8.x fatal errors from null property access in dashboard and stats
* Fix: Allow multiple players to be linked to a single user account
* Fix: Missing JavaScript assets in WordPress.org release

= 2.3.1 - 6th April 2026 =

* Tweak: Internal code quality improvements

= 2.3.0 - 2nd April 2026 =

* Fix: PHP 8.0+ fatal error in player stats functions
* Fix: Google Maps embed now works without an API key
* Fix: Setup wizard map picker broken
* Fix: New players not appearing in player list shortcode
* Fix: Wrong club count in league table admin column
* Fix: Bulk add clubs to league table now supports multi-select
* Fix: Bulk add players and staff to rosters now supports multi-select
* Fix: Staff profile title can now be hidden via settings
* Fix: League table and dashboard crash when no competition assigned
* Fix: Schema.org markup updated to HTTPS and SportsOrganization type
* Fix: Deprecated PHP function compatibility (PHP 8.2+)
* Tweak: Tested up to WordPress 6.7

= 2.2.17 - 15th April 2024 =

- Fix: An error of type E_ERROR on league page for PHP 8+ installs
- Fix: Fatal error on uninstall process for PHP8+ installs
- Fix: Meta data not removed on uninstall
- Fix: Undefined term_id notice on uninstall uninstall

= 2.2.16 - 2nd April 2024 =

- Fix: Player order not saving on match report when dragging to reorder

= 2.2.15 - 26th March 2024 =

- Fix: Cannot set score of players for a match when using a mobile device
- Fix: league table widget not focussing on the default club

= 2.2.14 - 20th March 2024 =

- New: League mode dashboard content showing table, played and upcoming fixtures
- Fix: League table widget incorrect logic for settings
- Fix: Shirt numbers not rendering correctly on edit match screen

= 2.2.13 - 19th March 2024 =

- Fix: League table not updating correctly on some installs
- Fix: Cannot set score of players for a match when using a mobile device
- Fix: Penalty shootout score not saving correctly for matches
- Fix: Unable to turn off extra time or penalties for matches
- Fix: PHP Notice: Uninitialized string offset: 0 on league table
- Fix: Undefined $team_label on league table
- Fix: Warning: Trying to access array offset on false when no match venue selected
- Fix: Compatibility with Sponsors Pro addon

= 2.2.12 - 19th March 2024 =

- Security Fix: XSS vulnerability on player/staff metadata. Thanks to CatFather via Patchstack for the responsible disclosure
- Security Fix: Broken access control vulnerability on player sorting when editing a match. Thanks to Mika via Patchstack for the responsible disclosure
- Security: Entire codebase improved and hardened with PHPCS with security and code fixes

= 2.2.11 - 3rd February 2024 =

- Security Fix: Permalink settings save now protected with a capability and nonce check. Thanks to Francesco Carlucci via Wordfence for the responsible disclosure
- Fix: Undefined $team_meta['wpcm_team_label'] notice
- Fix: Fatal error during onboarding wizard when selecting the sport
- Fix: Undefined variable on match report if venue not set
- Fix: Undefined $competition_meta in wpcm_get_match_team(). Thanks to touxico
- Fix: Age calculation error if no date of birth

= 2.2.10 - 3rd February 2023 =

- Fix: Widget checkbox settings now saving correctly when using the Widget Block Editor

= 2.2.9 - 26th January 2023 =

- Fix: Warning: Trying to access array offset on value of type bool in includes/wpcm-match-functions.php
- Tested up to WordPress 6.1

= 2.2.8 - 30/09/2022 =

* Fix - Fixed more PHP 8 compatibility issues

= 2.2.7 - 20/09/2022 =

* Fix - Fixed taxonomy ordering
* Fix - Fixed results shortcode issue (Thanks klowdo)
* Fix - Fixed PHP 8 warnings

= 2.2.6 - 24/01/2022 =

* New - Added new labels available in WP 5.9 to taxonomies

= 2.2.5 - 10/07/2021 =

* Tweak - Added two filters to enable SchemaOrg LD+JSON customization
* Tweak - Added html markup to first/last names
* Fix - Fixed date display for matches on same day
* Fix - Fixed match players serialization issues
* Template - '/content-widget-fixtures.php'
* Template - '/content-widget-results.php'

= 2.2.4 - 28/01/2021 =

* Fix - Fixed variable not defined error in match widgets
* Fix - Fixed unsupported operand error in match importer
* Fix - Fixed player name in Player Gallery title
* Tweak - Improved player list shortcode themeing
* Template - '/shortcodes/match-opponents.php' - Fixed variable not defined error

= 2.2.3 - 22/10/2020 =

* Fix - Fixed staff importer
* Fix - Fixed unplayed matches showing in Match List shortcode in results format

= 2.2.2 - 09/10/2020 =

* Fix - Fixed warning message when sorting players in matches
* Tweak - Fixtures/Results widgets now use date/time format from WP general settings
* Tweak - Added filters to all plugin date/time functions
* Tweak - Added some filters to players gallery shortcode
* Tweak - Removed some conflicting CSS from tables
* Tweak - Updated documentation links
* Template - '/shortcodes/match-list.php' - Added date/time filter
* Template - '/shortcodes/match-opponents.php' - Added date/time filter
* Template - '/content-widget-fixtures.php' - Added date/time filter
* Template - '/content-widget-results.php' - Added date/time filter
* Template - '/content-single-club.php' - Added date/time filter
* Template - '/single-match/date.php' - Added date/time filter

= 2.2.1 - 07/09/2020 =

* Fix - Fixed missing function warning in plugin dashboard
* Fix - Fixed season dropdown in admin player stats table
* Fix - Corrected misspelled country names
* Fix - Fixed vertical alignment of multiple choice input options

= 2.2.0 - 09/07/2020 =

* New - Added OpenStreetMaps as an option for venue maps
* New - Added Nominatim Geocoder for OpenStreetMaps
* New - Added Staff Gallery shortcode
* Tweak - Player dropdown on player profile now filters by current season
* Fix - Fixed taxonomy terms not appearing in dropdowns on setup
* Fix - Fixed new seasons/teams/comps not registering in some instances
* Fix - Fixed league table columns default setup
* Fix - Removed season submenu from Matches admin menu
* Fix - Fixed subs not used de-selection issue
* Fix - Fixed name formats in Player Gallery and Staff List shortcodes
* Fix - Fixed player placeholder in Players Gallery shortcode
* Fix - Fixed 'Trying to access array offset' warning on match pages
* Fix - Fixed missing venue address in Match Schema
* Fix - Fixed various new PHP 7 warnings
* Template - '/shortcodes/map-venue.php' - Added OpenStreetMaps
* Template - '/shortcodes/staff-gallery.php - New template
* Localisation - Updated wpclubmanager.pot

= 2.1.11 - 18/05/2020 =

* Fix - Fixed media uploader
* Fix - Fixed timepicker display
* Tweak - Added Classic Editor activation tool

= 2.1.10 - 01/05/2020 =

* Fix - Fixed ACF timepicker conflict
* Tweak - Updated jquery.timepicker.min.js

= 2.1.9 - 21/02/2020 =

* Fix - Fixed box scores display issue
* Fix - Fixed badges in reverse match format issue
* Tweak - Increased start time field width
* Tweak - Added Rest API support to post types and taxonomies
* Template - '/single-match/home-badge.php' - Fixed badge display
* Template - '/single-match/away-badge.php' - Fixed badge display

= 2.1.8 - 30/12/2019 =

* New - Added wpclubmanager_content() template function
* Fix - Fixed warning in list table when no positions/jobs set

= 2.1.7 - 22/12/2019 =

* Fix - Fixed player stats manual totals
* Fix - Fixed undefined object id warning in setup wizard
* Fix - Fixed soccer player positions not being created in setup wizard
* Fix - Fixed version upgrade notice on fresh install
* Fix - Fixed count warning in rosters list table rows when empty
* Fix - Fixed undefined warning in empty post type list tables
* Fix - Date format matches WP date options in Matches list table
* Fix - Updated WP core themes compatibility

= 2.1.6 - 18/11/2019 =

* Fix - Fixed match date and time issue

= 2.1.5 - 15/11/2019 =

* Tweak - Added import of players from existing rosters
* Tweak - Added import of staff from existing rosters
* Tweak - Added current season matches to club page in league mode
* Tweak - Added get_current_season() function
* Tweak - Updated admin CSS styles for WP 5.3
* Fix - Fixed capacity undefined index warning in club List_Table
* Fix - Fixed players import

= 2.1.4 - 23/09/2019 =

* Fix - Fixed broken birthdays widget

= 2.1.3 - 20/09/2019 =

* Fix - Fixed team display names in league tables
* Fix - Removed warning from birthday widget when no roster selected
* Fix - Updated Macedonia to North Macedonia in countries list
* Tweak - Added more admin hooks

= 2.1.2 - 09/08/2019 =

* Fix - Fixed url issues

= 2.1.1 - 07/08/2019 =

* Tweak - Added points to Ice Hockey player stats
* Fix - Fixed head to head match count
* Fix - Fixed notices when no player stats selected

= 2.1.0 - 02/08/2019 =

* New - Added parent/child relationships to clubs
* New - Added club abbreviations
* Tweak - Match Opponents shortcode added to League Mode
* Tweak - Added club option to Match Opponents shortcode
* Tweak - Display settings for profile pages now only apply to front-end
* Tweak - Added next/last 7 days to match shortcodes date range
* Tweak - Added club abbreviation option to matches and league table shortcodes
* Tweak - Added club abbreviation option to fixtures/results & league table widgets
* Tweak - Added goal difference auto calculation in League Table
* Fix - Fixed Match List home/away selection
* Fix - Fixed player and staff quick edit titles
* Fix - Fixed '0' box scores display
* Template - '/shortcodes/league-table.php' - Added abbreviation options
* Template - '/shortcodes/match-list.php' - Added abbreviation options
* Template - '/shortcodes/match-opponents.php' - Added abbreviation options
* Template - '/content-single-club.php' - Included new get_club_details function
* Localisation - Updated wpclubmanager.pot

= 2.0.8 - 29/04/2019 =

* New - Added cricket match outcome options
* Tweak - Updated cricket results with match outcome
* Tweak - Updated wpclubmanager.css
* Tweak - Updated meta-boxes.js
* Fix - Fixed correct box scores display option in admin
* Localisation - Updated wpclubmanager.pot

= 2.0.7 - 08/04/2019 =

* Fix - Version bump to fix synch SVN

= 2.0.6 - 05/04/2019 =

* Tweak - Added top/bottom options to league table shortcode/widget
* Tweak - Auto calculation of GD/PD league table column
* Tweak - Added default sport css class to body tag in admin
* Tweak - Changed points difference table stat to points percentage for Aussie Rules
* Fix - Fixed Players Widget column display
* Fix - Fixed Players List  shortcode limit issues
* Localisation - Updated wp-club-manager.pot

= 2.0.5 - 19/03/2019 =

* Fix - Fixed the head to head match list I broke yesterday!

= 2.0.4 - 18/03/2019 =

* Tweak - Added filter to shirt number in match player list
* Fix - Fixed staff list shortcode columns display
* Fix - Fixed postponed matches in club head to head count
* Fix - Fixed js conflict issues with date and time pickers
* Fix - Fixed post_name and post_title when importing matches

= 2.0.3 - 11/03/2019 =

* Fix - Fixed team filter in Matches List shortcode
* Fix - Fixed subs dropdown in match player list
* Fix - Fixed de-selection of postponed matches
* Fix - Fixed roster list in admin dashboard

= 2.0.2 - 08/03/2019 =

* Tweak - Added player and staff list to club admin pages in League Mode
* Fix - Fixed cases of missing Team dropdown in matches
* Fix - Fixed new players not showing in roster lists
* Fix - Fixed issue displaying Player Lists in League Mode
* Fix - Fixed player name import issue
* Template - '/content-single-club.php' - Removed head to head in League Mode

= 2.0.1 - 01/03/2019 =

* Fix - Fixed existing venue issues

= 2.0.0 - 26/02/2019 =

* New - Added League mode
* New - Added new League tables
* New - Added new Player and Staff Rosters
* New - New plugin dashboard
* New - Added match postponed/walkovers
* New - Added setup wizard
* New - Added box scores to replace Score Summary extension
* New - New plugin shortcode button added to TinyMCE
* New - New and improved shortcodes
* New - Added help tab to admin interface
* New - Added Player Gallery shortcode
* New - Added Club Settings page
* New - Added countdown to Fixtures Widget
* Tweak - New player and staff first and last name inputs
* Tweak - Add link to website in club profiles
* Tweak - Improved date and time selections
* Tweak - Venue maps now use Google Places API
* Tweak - Store and autofill match referees
* Tweak - Improved admin list pages for matches, players, staff and clubs
* Tweak - Improved admin list page quick edits
* Tweak - Added lineups to match imports
* Tweak - Added welcome notice to replace welcome page
* Tweak - Removed welcome page
* Tweak - Removed stats from club admin page
* Tweak - Removed plugin review nag
* Fix - Fixed sorted terms not returning when new season or team added
* Template - '/layout/wrapper-start.php' - Updated template
* Template - '/layout/wrapper-end.php' - Updated template
* Template - '/shortcodes/league-table.php' - Added new template
* Template - '/shortcodes/map-venue.php' - Added new template
* Template - '/shortcodes/match-list.php' - Added new template
* Template - '/shortcodes/match-opponents.php' - Added new template
* Template - '/shortcodes/players-gallery.php' - Added new template
* Template - '/shortcodes/matches.php' - Updated template
* Template - '/single-match/box-scores.php' - Added new template
* Template - '/single-match/lineup-row.php' - Updated template
* Template - '/single-match/venue-info.php' - Updated template
* Template - '/single-player/meta.php' - Updated template
* Template - '/content-single-club.php' - Updated template
* Template - '/content-single-staff.php' - Updated template
* Template - '/content-widget-fixtures.php' - Updated template
* Localisation - Updated all language files
* Localisation - Updated wp-club-manager.pot

= 1.5.10 - 17/11/2017 =

* Fix - Fixed broken match imports

= 1.5.9 - 02/08/2017 =

* Tweak - Improved performance of head to head (Props to emco)
* Tweak - Added some extra admin filters

= 1.5.8 - 04/07/2017 =

* Tweak - Added more admin notices
* Localisation - Updated wp-club-manager.pot
* Localisation - Updated Turkish language (Thanks Kanaturye)

= 1.5.7 - 30/04/2017 =

* Fix - Fixed a missing section field in cricket preset
* Tweak - Added overs total for cricket matches
* Tweak - Added more admin hooks

= 1.5.6 - 12/04/2017 =

* New - Added cricket to preset sports
* Tweak - Added more admin notices
* Tweak - Added more admin hooks
* Fix - Fixed numerical error on update
* Localisation - Updated Lithuanian language (Thanks as.giedrius)
* Localisation - Updated wp-club-manager.pot

= 1.5.5 - 06/04/2017 =

* New - Added birthdays widget
* Fix - Fixed non-static php warning in plugin admin page
* Tweak - Improved admin notices
* Localisation - Updated wp-club-manager.pot

= 1.5.4 - 29/03/2017 =

* Fixed update functions

= 1.5.0 - 28/03/2017 =

* New - Added ability to set which player stats to display for each player
* New - Added player stats display options for matche lineups
* New - Added unused substitutes selection
* New - Added overtime status to match page for soccer
* New - Added scores and outcomes for penalty shootouts in soccer
* Tweak - Removed mousewheel scroll from Google maps
* Tweak - Improved Google maps gesture handling on mobiles
* Tweak - Some CSS improvements and additions
* Template - '/single-match/status.php' - Added new template for overtime/penalties
* Template - '/single-match/lineup.php' - Added unused substitutes display
* Template - '/single-match/lineup-row.php' - Added custom stats display
* Template - '/single-player/stats-table.php' - Added custom stats display filters
* Localisation - Updated wp-club-manager.pot

== Upgrade Notice ==

= 2.0.0 =
2.0.0 is a major update so it is important that you make backups, and ensure themes and extensions are version 2.0.0 compatible before upgrading. See [release notes](http://wpclubmanager.com/wp-club-manager-2-0-released) for more details.
Note: Version 2 includes improvements to many templates. If your theme uses custom templates then please ensure your theme supports version 2 **before** updating.
