[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fBNEC3uZJY23GYs4BTkezQsc4zB0w-wHlcJ16ovqzU-o":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":131,"fingerprints":817},"the-soccer-stats","The Soccer Stats","1.08","lepileppanen","https:\u002F\u002Fprofiles.wordpress.org\u002Flepileppanen\u002F","\u003Cp>The Soccer Stats is an excellent WordPress plugin to be used with your football (soccer) team.\u003C\u002Fp>\n\u003Cp>You may control players and matches season by season. The plugin automatically calculates stats for the players, creates match calendar list,  calculates opponent statistics and so on. Page templates are available for players, matches, seasons and opponents.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fthesoccerstats.wordpress.com\" rel=\"nofollow ugc\">Go to plugin web site for more info\u003C\u002Fa>\u003C\u002Fp>\n","Ultimate tool for your football (soccer) team site.",10,2405,0,"2016-11-25T16:35:00.000Z","4.6.30","3.0.1","",[19,20,21,22,23],"club","football","soccer","sport","sports","http:\u002F\u002Fthesoccerstats.wordpress.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthe-soccer-stats.1.08.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},3,930,90,2,93,"2026-04-04T12:45:09.587Z",[38,59,77,92,113],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":33,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":17,"download_link":56,"security_score":57,"vuln_count":48,"unpatched_count":13,"last_vuln_date":58,"fetched_at":28},"soccer-engine-lite","Soccer Engine – Soccer Plugin for WordPress","1.14","DAEXT","https:\u002F\u002Fprofiles.wordpress.org\u002Fdaext\u002F","\u003Cp>Soccer Engine is a specialized soccer plugin for WordPress that gives sports bloggers and club websites administrators the ability to complement their articles with results, fixtures, match commentaries, transfer market data, and a great variety of other statistics.\u003C\u002Fp>\n\u003Cp>When installed, this massive project adds to WordPress 40 new administrative menus, 27 new editor blocks, and 62 customization options. Our goal is to provide all WordPress users with a comprehensive and expandable solution for any soccer-related website.\u003C\u002Fp>\n\u003Ch3>Pro version\u003C\u002Fh3>\n\u003Cp>We distribute the \u003Ca href=\"https:\u002F\u002Fdaext.com\u002Fsoccer-engine\u002F\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa> of this plugin that includes the following additional features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Additional Blocks\u003C\u002Fstrong> like the Match Timeline, Ranking Transitions Chart, Market Value Transitions Chart, Referee Statistics by Competition, Referee Statistics by Team.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Events Wizard\u003C\u002Fstrong> to generate multiple events in a single operation. With this feature, you can easily assign results to multiple matches without manually adding single events.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> to optionally manage the Soccer Engine data with external applications, create new additional plugin features, automatically create match events, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import\u003C\u002Fstrong> and \u003Cstrong>Export\u003C\u002Fstrong> menus to create a backup of the plugin data or move the plugin data between different WordPress installations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Additional advanced options\u003C\u002Fstrong> to set custom menu capabilities, customize the pagination system, and more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Publish a great variety of soccer statistics\u003C\u002Fh3>\n\u003Cp>This plugin gives you the ability to publish a great variety of soccer statistics on your website. These statistics are sometimes directly retrieved from records added by the website editors with the administrative menus. Other times, the plugin generates statistics based on simple or complex calculations. Examples of statistics directly retrieved from the inputted data are the first name of a player, the last name of a player, and its height. In contrast, examples of statistics calculated by the plugin are the standings tables of the competitions or statistics that report the player performance.\u003C\u002Fp>\n\u003Cp>In terms of elements generated in the front-end, the plugin uses regular HTML tables for the most part. However, the plugin can also generate more complex layouts when needed. To illustrate, in the case of match commentaries or to visually represent the formations, the plugin uses custom layouts augmented with images, SVG illustrations, and more.\u003C\u002Fp>\n\u003Cp>Below you can find a list of the blocks added to WordPress by the plugin in alphabetic order. Please note that users of the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclassic-editor\u002F\" rel=\"ugc\">Classic Editor\u003C\u002Fa>, or users with alternative visual editors can use shortcodes with parameters as a fallback for the editor blocks. For more information on the use of the shortcodes provided by Soccer Engine, visit the \u003Ca href=\"https:\u002F\u002Fdaext.com\u002Fdoc\u002Fsoccer-engine-lite\u002F#shortcodes\" rel=\"nofollow ugc\">shortcodes section\u003C\u002Fa> of the plugin manual.\u003C\u002Fp>\n\u003Ch4>Agency contracts\u003C\u002Fh4>\n\u003Cp>This block displays a table that lists the contractual agreement between players and their agencies or sports agents.\u003C\u002Fp>\n\u003Ch4>Competition round\u003C\u002Fh4>\n\u003Cp>Use this element to display a table with information about the matches associated with a competition.\u003C\u002Fp>\n\u003Ch4>Competition standings table\u003C\u002Fh4>\n\u003Cp>With this block, you can generate a standings table that compares the teams of a round-robin competition by ranking them based on multiple criteria.\u003C\u002Fp>\n\u003Cp>Note that we worked to make the tournament system very flexible. For example, you can set the criteria used to rank the teams or determine the points assigned to the team’s victories, draw, and loss.\u003C\u002Fp>\n\u003Ch4>Injuries\u003C\u002Fh4>\n\u003Cp>This block allows you to display a table with information about the injuries.\u003C\u002Fp>\n\u003Cp>The plugin gives you the ability to list the individual injuries associated with the players and add additional information like the injury type (E.g., concussion, knee inflammation, meniscal tear, etc.), the date range on which the player was injured, and more.\u003C\u002Fp>\n\u003Ch4>Market value transitions\u003C\u002Fh4>\n\u003Cp>This block displays a table with information about the market value of players at a specific moment in time.\u003C\u002Fp>\n\u003Ch4>Match commentary\u003C\u002Fh4>\n\u003Cp>This block gives you the ability to describe the events of a match. Specifically, this element generates a list of events that include the minute of the event, an icon that represents the type of event, an image of the player, and your custom description of the event.\u003C\u002Fp>\n\u003Ch4>Match lineup\u003C\u002Fh4>\n\u003Cp>Use this block to display a team’s lineup in a specific match. If the game includes events, event icons are used to provide details on these events.\u003C\u002Fp>\n\u003Ch4>Match score\u003C\u002Fh4>\n\u003Cp>This block summarizes essential data about a match in a simple and easy-to-understand layout. Specifically, the following information is displayed: The name of the teams, the team logos, the match result, the date and hour of the match, where the game has been played, the attendance, and the referee.\u003C\u002Fp>\n\u003Ch4>Match staff\u003C\u002Fh4>\n\u003Cp>Use this feature to list the staff members that participated in a specific match. For example, a typical list of staff members includes the manager, the assistant manager, and a few other members like the athletic coach, the team coordinator, etc.\u003C\u002Fp>\n\u003Ch4>Match substitutions\u003C\u002Fh4>\n\u003Cp>This element allows you to list the substitute players available for a team in a specific match.\u003C\u002Fp>\n\u003Ch4>Match visual lineup\u003C\u002Fh4>\n\u003Cp>This block generates a layout composed of an isometric field with the players in the starting lineup and a table that lists substitutes and staff members.\u003C\u002Fp>\n\u003Cp>Note that the player displayed in the isometric field are positioned based on the specific formation defined in the back-end. In addition, below each player are also shown icons used to represent the event associated with the players.\u003C\u002Fp>\n\u003Ch4>Matches\u003C\u002Fh4>\n\u003Cp>This block displays a table that lists one match per row with information like the date of the game, the hour of the game, the home team, the away team, the match result, and more.\u003C\u002Fp>\n\u003Cp>Note that this list is generated based on custom criteria defined with the block options. You can, for example, only display the matches played by a specific team, the games played in a specified date interval, and more.\u003C\u002Fp>\n\u003Ch4>Player awards\u003C\u002Fh4>\n\u003Cp>Use the player awards to register and display the awards received by the players. A prominent example of this feature is to list the Ballon D’Or winners. Note that you can define your custom awards in the back-end and, consequently, list awards assigned by local competitions, etc.\u003C\u002Fp>\n\u003Ch4>Player summary\u003C\u002Fh4>\n\u003Cp>This element generates information retrieved from the players and from the transfers market data. It’s a layout commonly used in “Player Profile” pages or more in general to complement pages or paragraphs dedicated to specific players.\u003C\u002Fp>\n\u003Ch4>Players\u003C\u002Fh4>\n\u003Cp>This layout generates a table that lists one player per row. The table columns, which you can customize with the block options, can display information like the age of the player, the citizenship, the player height, the market value, the current club of the player, the club that owns the player, and more.\u003C\u002Fp>\n\u003Ch4>Ranking transitions\u003C\u002Fh4>\n\u003Cp>With this block, you can display a table that lists the ranking value of the teams in a specific ranking system. An example of ranking system is the \u003Ca href=\"https:\u002F\u002Fwww.uefa.com\u002Fnationalassociations\u002Fuefarankings\u002F\" rel=\"nofollow ugc\">UEFA club coefficients\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Based on your specific needs, you can create your custom ranking systems or report the data of existing ranking systems.\u003C\u002Fp>\n\u003Ch4>Referee summary\u003C\u002Fh4>\n\u003Cp>This block displays a referee’s image, additional information retrieved from referee data, and calculated information based on the referee’s performance on existing matches.\u003C\u002Fp>\n\u003Cp>In terms of computed statistics, the plugin can list the number of appearances, the overall number of yellow cards and red cards assigned by the referee, and more.\u003C\u002Fp>\n\u003Ch4>Squad lineup \u002F Squad staff \u002F Squad substitutions\u003C\u002Fh4>\n\u003Cp>These three blocks list the players and staff members associated with a squad.\u003C\u002Fp>\n\u003Cp>Note that in this plugin, the squads are reusable collections of players, staff members, formations, and jersey sets usually used to speed up the configuration of new matches.\u003C\u002Fp>\n\u003Ch4>Staff\u003C\u002Fh4>\n\u003Cp>This block displays a list of staff members with information like the staff member’s age, their citizenship, and their role. Examples of staff members are managers, assistant managers, athletic coaches, goalkeeping coaches, board members.\u003C\u002Fp>\n\u003Ch4>Staff awards\u003C\u002Fh4>\n\u003Cp>Use this block to generate a list of awards assigned to staff members. Staff awards are honors, like “Best manager of the year”, usually given by associations to the staff members of a soccer team.\u003C\u002Fp>\n\u003Ch4>Staff summary\u003C\u002Fh4>\n\u003Cp>This block displays an image of the staff member with relevant information like his age, citizenship, and role. In addition, the plugin also displays computed information like the staff member favorite formation, the points per match, the average number of goals scored by the staff member teams, the number of matches in which the staff member has been involved, and the number of matches won, drawn, and lost.\u003C\u002Fp>\n\u003Ch4>Team contracts\u003C\u002Fh4>\n\u003Cp>You should use this feature to display contracts between players and teams. Essential information associated with the team contracts are the contract’s start date, the contract’s end date, and the salary.\u003C\u002Fp>\n\u003Cp>Team contracts are always associated with a contract type, which is used to better define and categorize the team contract. Examples of contract types are purchase, loan, loan with option, etc. It’s worth noting that the plugin gives you the ability to define your custom contract types from a dedicated menu.\u003C\u002Fp>\n\u003Ch4>Transfers\u003C\u002Fh4>\n\u003Cp>This is an essential element for transfer market blogs that want to list the transfer market movement.\u003C\u002Fp>\n\u003Cp>Thanks to the block filters, you can display, for example, only the transfer market movement that took place in a specific period, the transfer market movement associated with a particular team, the transfer market movement with high fees, and more.\u003C\u002Fp>\n\u003Cp>In the front-end, the table generated with this block includes information such as the player name, the player citizenship, the teams involved in the transfer, the date of the transfer, the market value of the player, the fee paid to complete the transfer, and more.\u003C\u002Fp>\n\u003Ch4>Trophies\u003C\u002Fh4>\n\u003Cp>Use this block to display the trophies won by a team with information like the type of trophy or the data on which the trophy has been assigned.\u003C\u002Fp>\n\u003Cp>Use this feature, for example, to list the UEFA Champions League winners or to list the winners of local soccer competitions.\u003C\u002Fp>\n\u003Ch4>Unavailable players\u003C\u002Fh4>\n\u003Cp>Use this element to list the unavailable players. This list includes the name of the player, the reason for the unavailability, the date range on which the player is unavailable, and optionally other player information.\u003C\u002Fp>\n\u003Ch3>Notable features of this soccer plugin\u003C\u002Fh3>\n\u003Ch4>Vector graphics\u003C\u002Fh4>\n\u003Cp>The plugin uses dynamic and customizable SVGs to represent icons and other graphical elements like the soccer fields, the clocks used to display the minute of an event, etc.\u003C\u002Fp>\n\u003Ch4>Customizable style\u003C\u002Fh4>\n\u003Cp>A total of 40 style options allows you to customize the colors and the typography of the elements generated by the plugin. So you can easily create your own unique and consistent style.\u003C\u002Fp>\n\u003Ch4>The events system\u003C\u002Fh4>\n\u003Cp>Events are the single units used to generate the match statistics. Examples of events are goals, yellow cards, red cards, and substitutions.\u003C\u002Fp>\n\u003Cp>By entering events, you will be able to display match commentaries, generate event tooltips with details of the events, and more. In addition, the events data allows the plugin to generate computed statistics.\u003C\u002Fp>\n\u003Ch4>Customizable competitions\u003C\u002Fh4>\n\u003Cp>The plugin allows you to create competitions of type \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRound-robin_tournament\" rel=\"nofollow ugc\">Round-robin\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSingle-elimination_tournament\" rel=\"nofollow ugc\">Elimination\u003C\u002Fa> with a custom number of participating teams.\u003C\u002Fp>\n\u003Cp>These two types of competition are the foundations for any soccer tournament. For example, you can easily create the English Premier League by making a Round-robin tournament with 20 teams or set up the knockout stage of the Champions League by using an Elimination tournament with 16 teams.\u003C\u002Fp>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>This plugin makes use of the following resources:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fharvesthq\u002Fchosen\" rel=\"nofollow ugc\">Chosen\u003C\u002Fa> licensed under the \u003Ca href=\"http:\u002F\u002Fwww.opensource.org\u002Flicenses\u002Fmit-license.php\" rel=\"nofollow ugc\">MIT License\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Flags icons by \u003Ca href=\"https:\u002F\u002Fwww.gosquared.com\u002F\" rel=\"nofollow ugc\">GoSquared\u003C\u002Fa> licensed under the \u003Ca href=\"http:\u002F\u002Fwww.opensource.org\u002Flicenses\u002Fmit-license.php\" rel=\"nofollow ugc\">MIT License\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>The ball icon used in the back-end menus is part of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFortAwesome\u002FFont-Awesome\" rel=\"nofollow ugc\">Font Awesome\u003C\u002Fa> and is licensed under the \u003Ca href=\"https:\u002F\u002Fscripts.sil.org\u002Fcms\u002Fscripts\u002Fpage.php?site_id=nrsi&id=OFL\" rel=\"nofollow ugc\">SIL license\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For each library you can find the actual copy of the license inside the folder used to store the library files.\u003C\u002Fp>\n","Soccer Engine is a plugin that lets bloggers and clubs add results, fixtures, match commentaries, transfers, and a wide range of stats to articles.",7956,100,1,"2025-05-09T09:48:00.000Z","6.8.5","5.0","5.5",[54,20,55,21,23],"fixtures","league","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsoccer-engine-lite.1.14.zip",99,"2024-05-07 00:00:00",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":13,"num_ratings":13,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":17,"download_link":76,"security_score":47,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"player-transfers-for-sportspress","Player Transfers for SportsPress","1.4.0","Savvas","https:\u002F\u002Fprofiles.wordpress.org\u002Fsavvasha\u002F","\u003Cp>\u003Cstrong>Player Transfers for SportsPress\u003C\u002Fstrong> is a powerful extension for the SportsPress plugin, allowing you to manage and display player transfers in a structured and visually appealing way.\u003C\u002Fp>\n\u003Cp>Whether you run a football, soccer, or any other sports website, this plugin helps track player movements between teams with ease.\u003C\u002Fp>\n\u003Cp>If you’re looking for advanced features and additional functionalities, we recommend checking out our premium plugin: \u003Ca href=\"https:\u002F\u002Fsavvasha.com\u002Fplayer-transfers-for-sportspress\u002F\" rel=\"nofollow ugc\">Player Transfers for SportsPress Premium\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Basic example:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [player-transfers]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example with all attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [player-transfers title=”Summer Transfers 2024″ season=”2024-2025″ club_in=”123″ club_out=”456″ player=”789″ date_from=”2024-06-01″ date_to=”2024-08-31″]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example with title only:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [player-transfers title=”Latest Transfers”]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example with date range:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [player-transfers date_from=”2024-01-01″ date_to=”2024-01-31″]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example with club filters:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [player-transfers club_in=”123″ club_out=”456″]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shortcode available attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>title\u003C\u002Fcode>: Select a custom title (default title is “Player Transfers”).\u003Cbr \u002F>\n– \u003Ccode>season\u003C\u002Fcode>: Show all transfers made during a specific season (use season slug i.e. “2024-2025”).\u003Cbr \u002F>\n– \u003Ccode>club_in\u003C\u002Fcode>: Show all incoming transfers of a specific club (use club id).\u003Cbr \u002F>\n– \u003Ccode>club_out\u003C\u002Fcode>: Show all outcoming transfers of a specific club (use club id).\u003Cbr \u002F>\n– \u003Ccode>player\u003C\u002Fcode>: Show all transfers of a specific player (use player id).\u003Cbr \u002F>\n– \u003Ccode>date_from\u003C\u002Fcode>: Show all transfers from a date and after (use date format YYYY-MM-DD).\u003Cbr \u002F>\n– \u003Ccode>date_to\u003C\u002Fcode> : Show all transfers until a date (use date format YYYY-MM-DD).\u003C\u002Fp>\n\u003Ch3>Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom Post Type for managing player transfers.\u003C\u002Fli>\n\u003Cli>SportsPress integration for fetching player and team data.\u003C\u002Fli>\n\u003Cli>Shortcode [player-transfers] to show transfer details on the frontend.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Premium Version Features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong> Frontend submission of Player Transfers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW\u003C\u002Fstrong> Player Transfers templates for Teams and Players.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW:\u003C\u002Fstrong> Option to update the “Career Total” for players upon transfer (Premium version only).\u003C\u002Fli>\n\u003Cli>Automatically updates player data upon transfer (e.g., current team, past team, and assignment between league, season, and new team).\u003C\u002Fli>\n\u003Cli>Advanced AJAX-powered filtering and sorting on frontend using \u003Cstrong>DataTables\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Advanced filtering and sorting on backend.\u003C\u002Fli>\n\u003Cli>Integration with \u003Cstrong>MetaBox\u003C\u002Fstrong> premium extensions for custom fields.\u003C\u002Fli>\n\u003Cli>Compatible with \u003Cstrong>SportsPress Pro\u003C\u002Fstrong> feature of “Midseason Transfers”.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support & Documentation\u003C\u002Fh3>\n\u003Cp>For support, visit our website: \u003Ca href=\"https:\u002F\u002Fsavvasha.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fsavvasha.com\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","Manage and display player transfers seamlessly within SportsPress. Enhance your sports website with structured transfer records and team history.",20,1008,"2026-01-05T18:25:00.000Z","6.9.4","5.6","7.4",[20,74,21,23,75],"players","transfers","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fplayer-transfers-for-sportspress.1.4.0.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":13,"downloaded":85,"rating":13,"num_ratings":13,"last_updated":17,"tested_up_to":70,"requires_at_least":86,"requires_php":72,"tags":87,"homepage":89,"download_link":90,"security_score":47,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":91},"football-club-manager","Football Club Manager","0.11.0","vincentbitter","https:\u002F\u002Fprofiles.wordpress.org\u002Fvincentbitter\u002F","\u003Cp>Football Club Manager helps amateur football clubs organize and present their information online.\u003Cbr \u002F>\nWith this plugin, you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>🏟️ Create customizable team pages\u003C\u002Fli>\n\u003Cli>👤 Register team players, including picture\u003C\u002Fli>\n\u003Cli>📅 Publish match schedule and results\u003C\u002Fli>\n\u003Cli>🙋‍♂️ Manage volunteers\u003C\u002Fli>\n\u003Cli>🧩 Customizable blocks for Gutenberg editor\u003C\u002Fli>\n\u003Cli>🌐 Multilingual support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Navigate to \u003Cstrong>Football Club Manager\u003C\u002Fstrong> in your WordPress dashboard.  \u003C\u002Fli>\n\u003Cli>Add \u003Cstrong>Players\u003C\u002Fstrong>, \u003Cstrong>Teams\u003C\u002Fstrong>, and \u003Cstrong>Matches\u003C\u002Fstrong>.  \u003C\u002Fli>\n\u003Cli>Visit team pages and modify the content, or enable\u002Fdisable default blocks via page settings.  \u003C\u002Fli>\n\u003Cli>Go to the \u003Cstrong>Football Club Manager\u003C\u002Fstrong> section in \u003Cstrong>Customizer\u003C\u002Fstrong> to change default blocks on team page.  \u003C\u002Fli>\n\u003Cli>Display match results or team rosters on your site using Gutenberg editor.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Add-ons\u003C\u002Fh3>\n\u003Cp>Football Club Manager is designed to be extensible.\u003Cbr \u002F>\nCurrently available:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>🔗 \u003Ca href=\"https:\u002F\u002Fwww.wordpress.org\u002Fplugins\u002Ffcm-for-sportlink\u002F\" rel=\"nofollow ugc\">FCM for Sportlink\u003C\u002Fa>\u003Cbr \u002F>\nIntegrates Football Club Manager with \u003Cstrong>Sportlink\u003C\u002Fstrong>, allowing you to synchronize official match data and player information directly into WordPress.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>Found a bug or have a feature request? Please open an issue on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvincentbitter\u002Ffootball-club-manager\u002Fissues\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003Cbr \u002F>\nWant to contribute? Fork the repo and submit a pull request — all help is welcome!\u003C\u002Fp>\n","Easily manage your amateur football club. Create team pages, player info, and integrate match data!",462,"6.8",[20,21,23,88],"teams","https:\u002F\u002Fgithub.com\u002Fvincentbitter\u002Ffootball-club-manager","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-club-manager.0.11.0.zip","2026-03-15T10:48:56.248Z",{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":100,"downloaded":101,"rating":102,"num_ratings":103,"last_updated":104,"tested_up_to":70,"requires_at_least":105,"requires_php":17,"tags":106,"homepage":108,"download_link":109,"security_score":110,"vuln_count":111,"unpatched_count":13,"last_vuln_date":112,"fetched_at":28},"sportspress","SportsPress – Sports Club & League Manager","2.7.29","ThemeBoy","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeboy\u002F","\u003Ch4>Create a Professional Sports Website\u003C\u002Fh4>\n\u003Cp>Transform your WordPress blog into a fully configurable team, club, or league website. Features a suite of sports tools including fixtures, results, automated standings, players rankings, and individual profiles for clubs, players, and staff.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FKQyga_C5a6M?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Industry Reviews\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cp>“\u003Cem>Best WordPress Sports plugins: With premade templates for different sports, SportsPress pretty much covers the range of what almost everyone needs. It’s highly reviewed, and does exactly what it says it will do.\u003C\u002Fem>” — \u003Ca href=\"https:\u002F\u002Fwww.elegantthemes.com\u002Fblog\u002Fresources\u002F5-best-wordpress-sports-plugins\" rel=\"nofollow ugc\">Elegant Themes\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>“\u003Cem>Script of the Day: While the WordPress repository holds various team and sports-related plugins, few of them come close to what you can achieve with SportsPress.\u003C\u002Fem>” — \u003Ca href=\"http:\u002F\u002Fnews.softpedia.com\u002Fnews\u002FScript-of-the-Day-SportsPress-409247.shtml\" rel=\"nofollow ugc\">Softpedia\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>“\u003Cem>SportsPress is probably one of the most complete WordPress sports plugins out there. If you have a sports website and you’re looking to showcase your team, or even your entire league, then give this plugin a try.\u003C\u002Fem>” — \u003Ca href=\"https:\u002F\u002Fwww.hostgator.com\u002Fblog\u002Fbest-wordpress-plugins-themes-sports-websites\u002F\" rel=\"nofollow ugc\">HostGator\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Equation Builder\u003C\u002Fli>\n\u003Cli>Club Profiles with Player List\u003C\u002Fli>\n\u003Cli>Automated League Standings with Club Logos\u003C\u002Fli>\n\u003Cli>Events (Fixtures & Results) with Player Performance\u003C\u002Fli>\n\u003Cli>Events Calendar\u003C\u002Fli>\n\u003Cli>Player Profiles & Statistics\u003C\u002Fli>\n\u003Cli>Player Lists\u003C\u002Fli>\n\u003Cli>Staff Profiles\u003C\u002Fli>\n\u003Cli>Select Current Club and Previous Clubs\u003C\u002Fli>\n\u003Cli>Season Archives\u003C\u002Fli>\n\u003Cli>Venue Information & Maps\u003C\u002Fli>\n\u003Cli>Statistics & League Table Columns Configuration\u003C\u002Fli>\n\u003Cli>Sport Presets\u003C\u002Fli>\n\u003Cli>Switch Between Club vs Club and Player vs Player Mode.\u003C\u002Fli>\n\u003Cli>Import Events, Clubs, Players, and Staff from CSV Files\u003C\u002Fli>\n\u003Cli>Easy Shortcodes Menu in Editor\u003C\u002Fli>\n\u003Cli>Events Integrate with iCal\u003C\u002Fli>\n\u003Cli>Certified compatibility with \u003Ca href=\"http:\u002F\u002Fwpml.org\u002Fplugin\u002Fsportspress\u002F\" rel=\"nofollow ugc\">WPML\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>More details about each feature are available on the \u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fpro\" rel=\"nofollow ugc\">SportsPress Website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Free Extensions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress-for-baseball\u002F\" rel=\"ugc\">SportsPress for Baseball\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress-for-basketball\u002F\" rel=\"ugc\">SportsPress for Basketball\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress-for-cricket\u002F\" rel=\"ugc\">SportsPress for Cricket\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress-for-soccer\u002F\" rel=\"ugc\">SportsPress for Football (Soccer)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress-for-golf\u002F\" rel=\"ugc\">SportsPress for Golf\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress-for-volleyball\u002F\" rel=\"ugc\">SportsPress for Volleyball\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>SportsPress Pro\u003C\u002Fh4>\n\u003Cp>Looking for more advanced sports functionality? Upgrade to \u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fpro\" rel=\"nofollow ugc\">SportsPress Pro\u003C\u002Fa> to get access to more advanced features for your team, club, or league website.\u003C\u002Fp>\n\u003Ch4>Available Languages\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English – English ( en_US )\u003C\u002Fli>\n\u003Cli>Arabic – العربية ( ar )\u003C\u002Fli>\n\u003Cli>Armenian – Հայերեն ( hy )\u003C\u002Fli>\n\u003Cli>Bulgarian – Български ( bg_BG )\u003C\u002Fli>\n\u003Cli>Chinese (China) – 中文 ( zh_CN )\u003C\u002Fli>\n\u003Cli>Croatian – Hrvatski ( hr )\u003C\u002Fli>\n\u003Cli>Czech – Čeština ( cs_CZ )\u003C\u002Fli>\n\u003Cli>Danish – Dansk ( da_DK )\u003C\u002Fli>\n\u003Cli>Dutch – Nederlands ( nl_NL )\u003C\u002Fli>\n\u003Cli>French – Français ( fr_FR )\u003C\u002Fli>\n\u003Cli>Finnish – Suomi ( fi )\u003C\u002Fli>\n\u003Cli>German – Deutsch ( de_DE )\u003C\u002Fli>\n\u003Cli>Greek – Ελληνικά ( el_GR )\u003C\u002Fli>\n\u003Cli>Hungarian – Magyar ( hu_HU )\u003C\u002Fli>\n\u003Cli>Italian – Italiano ( it_IT )\u003C\u002Fli>\n\u003Cli>Japanese – 日本語 ( ja )\u003C\u002Fli>\n\u003Cli>Korean – 한국어 ( ko_KR )\u003C\u002Fli>\n\u003Cli>Macedonian – македонски ( mk_MK )\u003C\u002Fli>\n\u003Cli>Norwegian Bokmål – Norsk bokmål ( nb_NO )\u003C\u002Fli>\n\u003Cli>Persian – فارسی ( fa_IR )\u003C\u002Fli>\n\u003Cli>Polish – Polski ( pl_PL )\u003C\u002Fli>\n\u003Cli>Portuguese (Brazil) – Português do Brasil ( pt_BR )\u003C\u002Fli>\n\u003Cli>Portuguese (Portugal) – Português ( pt_PT )\u003C\u002Fli>\n\u003Cli>Romanian – Română ( ro_RO )\u003C\u002Fli>\n\u003Cli>Russian – Русский ( ru_RU )\u003C\u002Fli>\n\u003Cli>Slovak – Slovenčina ( sk_SK )\u003C\u002Fli>\n\u003Cli>Slovenian – Slovenija ( sl_SI )\u003C\u002Fli>\n\u003Cli>Spanish – Español ( es_ES )\u003C\u002Fli>\n\u003Cli>Swedish – Svenska ( sv_SE )\u003C\u002Fli>\n\u003Cli>Tagalog – Tagalog ( tl )\u003C\u002Fli>\n\u003Cli>Tamil – தமிழ் ( ta_IN )\u003C\u002Fli>\n\u003Cli>Thai – ไทย ( th )\u003C\u002Fli>\n\u003Cli>Turkish – Türkçe ( tr_TR )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Sport Presets Included\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>American Football\u003C\u002Fli>\n\u003Cli>Association Football (Soccer)\u003C\u002Fli>\n\u003Cli>Australian Rules Football\u003C\u002Fli>\n\u003Cli>Baseball\u003C\u002Fli>\n\u003Cli>Basketball\u003C\u002Fli>\n\u003Cli>Cricket\u003C\u002Fli>\n\u003Cli>Darts\u003C\u002Fli>\n\u003Cli>Golf\u003C\u002Fli>\n\u003Cli>Handball\u003C\u002Fli>\n\u003Cli>Ice Hockey\u003C\u002Fli>\n\u003Cli>Lacrosse\u003C\u002Fli>\n\u003Cli>Netball\u003C\u002Fli>\n\u003Cli>Rugby League\u003C\u002Fli>\n\u003Cli>Rugby Union\u003C\u002Fli>\n\u003Cli>Snooker\u003C\u002Fli>\n\u003Cli>Softball\u003C\u002Fli>\n\u003Cli>Squash\u003C\u002Fli>\n\u003Cli>Table Tennis\u003C\u002Fli>\n\u003Cli>Tennis\u003C\u002Fli>\n\u003Cli>Volleyball\u003C\u002Fli>\n\u003Cli>Water Polo\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Esports Presets\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Counter-Strike: Global Offensive\u003C\u002Fli>\n\u003Cli>Dota 2\u003C\u002Fli>\n\u003Cli>League of Legends\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>SportsPress Themes for Clubs\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fcourtside\" rel=\"nofollow ugc\">Courtside\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Femblem\" rel=\"nofollow ugc\">Emblem\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Ffc\" rel=\"nofollow ugc\">Football Club\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fmarquee\" rel=\"nofollow ugc\">Marquee\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fpremier\" rel=\"nofollow ugc\">Premier\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Frp\" rel=\"nofollow ugc\">Rookie Plus\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fvarsity\" rel=\"nofollow ugc\">Varsity\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Get Involved\u003C\u002Fh4>\n\u003Cp>Feel free to share your suggestions with us so we can continue to develop awesome sports club features for you guys!\u003C\u002Fp>\n\u003Cp>Developers can contribute via the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FThemeBoy\u002FSportsPress\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md\" rel=\"nofollow ugc\">SportsPress GitHub Repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Translators can contribute to SportsPress translations through \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fsportspress\" rel=\"nofollow ugc\">GlotPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Stay Current\u003C\u002Fh4>\n\u003Cp>To keep up with the latest updates and new features, be sure to do the following:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Visit the \u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fpro\" rel=\"nofollow ugc\">SportsPress Pro homepage\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Subscribe to our \u003Ca href=\"http:\u002F\u002Ftboy.co\u002Fyoutube\" rel=\"nofollow ugc\">YouTube channel\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Follow ThemeBoy on \u003Ca href=\"http:\u002F\u002Ftboy.co\u002Ffacebook\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa> & \u003Ca href=\"http:\u002F\u002Ftboy.co\u002Ftwitter\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Please Rate, Vote, and Enjoy!\u003C\u002Fh4>\n\u003Cp>Your feedback is much appreciated and makes all the difference in improving SportsPress.\u003C\u002Fp>\n","SportsPress is an extendable all-in-one sports data plugin that helps sports clubs set up and manage a league or club site quickly and easily.",10000,952747,94,368,"2026-02-12T05:49:00.000Z","3.8",[19,107,54,55,23],"event","http:\u002F\u002Fthemeboy.com\u002Fsportspress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsportspress.2.7.29.zip",92,6,"2026-02-03 19:45:14",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":70,"requires_at_least":126,"requires_php":72,"tags":127,"homepage":128,"download_link":129,"security_score":123,"vuln_count":34,"unpatched_count":13,"last_vuln_date":130,"fetched_at":28},"football-leagues-by-anwppro","AnWP Football Leagues","0.17.2","anwppro","https:\u002F\u002Fprofiles.wordpress.org\u002Fanwppro\u002F","\u003Cp>A complete solution for any ⚽ football site. Has a variety of unique features, powerful and flexible. Made with football in mind.\u003C\u002Fp>\n\u003Cp>⏩ For other team sports (🏉 rugby, 🏀 basketball, 🏐 volleyball, 🏏 cricket, ⚾ baseball, 🏒 ice hockey, handball) use my another plugin – \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsports-leagues\u002F\" rel=\"ugc\">Sports Leagues\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>BASIC FEATURES\u003C\u002Fh4>\n\u003Cp>✅ intuitive admin UI\u003Cbr \u002F>\n✅ knockout, round-robin or even mixed and multistaged Competition supported\u003Cbr \u002F>\n✅ separate Club squad for every season (with player position, number, status)\u003Cbr \u002F>\n✅ Match lineups, substitutes, stats, events (goals, cards, substitute, penalty shootout), video, staff, referees\u003Cbr \u002F>\n✅ automatic Standing calculation (or manual)\u003Cbr \u002F>\n✅ automatic Player statistic calculation based on Match events (playing time, goals, cards, etc.)\u003Cbr \u002F>\n✅ initial data import for Clubs and Players with Excel-like spreadsheet\u003Cbr \u002F>\n✅ custom colors in Standing table (for Clubs or places)\u003Cbr \u002F>\n✅ flipped countdown timer for upcoming Matches\u003Cbr \u002F>\n✅ initial points (+ or -) for Clubs in Standing table\u003Cbr \u002F>\n✅ statistics at Player profile page\u003Cbr \u002F>\n✅ stadiums with photo, gallery, additional information, map, matches\u003Cbr \u002F>\n✅ widgets: Clubs, Matches, Cards, Next match, Player, Players (scorers or assistants), Standing table, Birthdays\u003Cbr \u002F>\n✅ 16 different shortcodes with UI helper in Classic Editor\u003Cbr \u002F>\n✅ template system (ability to override output layouts in your theme)\u003Cbr \u002F>\n✅ RTL support\u003Cbr \u002F>\n✅ works with most themes out of the box\u003Cbr \u002F>\n✅ fully translatable from the Admin part\u003Cbr \u002F>\n✅ tons of hooks for developers\u003Cbr \u002F>\n✅ staff, referees, coaches, stadiums and much more …\u003C\u002Fp>\n\u003Ch4>LINKS AND DOCUMENTATION\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ffl-core.anwp.pro\u002F\" rel=\"nofollow ugc\">Plugin Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fthe-most-powerfull-football-soccer-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Plugin Overview\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fanwppro.userecho.com\u002Fcommunities\u002F1-football-leagues#module_9\" rel=\"nofollow ugc\">Online Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fanwppro.userecho.com\u002Fknowledge-bases\u002F2\u002Farticles\u002F70-start-guide\" rel=\"nofollow ugc\">Start Guide\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fanwppro.userecho.com\u002Fknowledge-bases\u002F11-fl-changelog\u002Fcategories\u002F28-basic-version\u002Farticles\" rel=\"nofollow ugc\">Extended Changelog\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fanwppro.userecho.com\u002Fknowledge-bases\u002F2-football-leagues\u002Fcategories\u002F25-shortcodes\u002Farticles\" rel=\"nofollow ugc\">Available Shortcodes\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>PREMIUM VERSION AVAILABLE\u003C\u002Fh4>\n\u003Cp>Want more? Football Leagues has also a \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Ffootball-leagues-premium\u002F\" rel=\"nofollow ugc\">Premium Addon\u003C\u002Fa> with many outstanding and unique features.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ffl-premium.anwp.pro\u002F\" rel=\"nofollow ugc\">Premium Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Ffootballan.com\u002F\" rel=\"nofollow ugc\">Real Website Example\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>PREMIUM FEATURES\u003C\u002Fh4>\n\u003Cp>🔶 Live Scores and Match Live Commentary with Events\u003Cbr \u002F>\n🔶 Match Timeline\u003Cbr \u002F>\n🔶 LIVE Search\u003Cbr \u002F>\n🔶 Club match formation\u003Cbr \u002F>\n🔶 Layout Builder (with tabs)\u003Cbr \u002F>\n🔶 Match scoreboard with image background\u003Cbr \u002F>\n🔶 Tournament Bracket\u003Cbr \u002F>\n🔶 Commentary Match section with new events\u003Cbr \u002F>\n🔶 Head to Head matches section in Match\u003Cbr \u002F>\n🔶 import data from external APIs (required a valid subscription)\u003Cbr \u002F>\n🔶 Standing – manual data edit\u003Cbr \u002F>\n🔶 Standing – columns order and visibility\u003Cbr \u002F>\n🔶 Standing – Conference support\u003Cbr \u002F>\n🔶 Standing – more ranking rules\u003Cbr \u002F>\n🔶 Matches Horizontal Scoreboard (shortcode)\u003Cbr \u002F>\n🔶 Competition – matchweeks as slides\u003Cbr \u002F>\n🔶 Results Matrix\u003Cbr \u002F>\n🔶 Standing Arrows – Dynamics of Ranking changes\u003Cbr \u002F>\n🔶 Widget – Next match extended (timer or flipped countdown)\u003Cbr \u002F>\n🔶 Widget – Competition Matchweek slides\u003Cbr \u002F>\n🔶 Widget – Calendar\u003Cbr \u002F>\n🔶 Calendar Slider\u003Cbr \u002F>\n🔶 Card Suspension\u003Cbr \u002F>\n🔶 Transfers\u003Cbr \u002F>\n🔶 \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fseo-options-in-layout-builder-title-and-description\u002F\" rel=\"nofollow ugc\">Dynamic SEO Options\u003C\u002Fa>\u003Cbr \u002F>\n🔶 Send Game Report by Email\u003Cbr \u002F>\n🔶 \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fdocs\u002Ffootball-leagues\u002Fpro-features\u002Fuser-timezone\u002F\" rel=\"nofollow ugc\">Automatic User’s Timezone\u003C\u002Fa>\u003Cbr \u002F>\n🔶 \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fdocs\u002Ffootball-leagues\u002Fpro-features\u002Fai-writer\u002F\" rel=\"nofollow ugc\">AI Match Reports\u003C\u002Fa>\u003Cbr \u002F>\n🔶 \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fdocs\u002Ffootball-leagues\u002Fpro-features\u002Fclub-history-historical-logos-names\u002F\" rel=\"nofollow ugc\">Club History\u003C\u002Fa> – Historical logos and names\u003Cbr \u002F>\n🔶 \u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fdocs\u002Ffootball-leagues\u002Fpro-features\u002Fentity-links\u002F\" rel=\"nofollow ugc\">Entity Links\u003C\u002Fa> – Custom links for clubs, players, and more\u003Cbr \u002F>\n🔶 Advanced Statistics\u003Cbr \u002F>\n🔶 Charts: Team Default Statistics & Goals per 15 min. interval\u003Cbr \u002F>\n🔶 Player stats section in Club\u003Cbr \u002F>\n🔶 Player & Referee stats panel\u003Cbr \u002F>\n🔶 24 different shortcodes\u003Cbr \u002F>\n🔶 premium support\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Ffootball-leagues-premium\u002F\" rel=\"nofollow ugc\">Find Out more about Premium Version\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fanwp.pro\u002Fthe-most-powerfull-football-soccer-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Plugin Overview\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translations included\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English – default, always included\u003C\u002Fli>\n\u003Cli>Russian: Русский\u003C\u002Fli>\n\u003Cli>Polish: Polski (thanks to @forzza)\u003C\u002Fli>\n\u003Cli>Danish: Denmark (thanks to @cbdk)\u003C\u002Fli>\n\u003Cli>French: thanks to @belgofoot\u003C\u002Fli>\n\u003Cli>Italian: thanks to Paolo\u003C\u002Fli>\n\u003Cli>Slovenian: thanks to Nejc\u003C\u002Fli>\n\u003Cli>Romanian: thanks to Gabriel\u003C\u002Fli>\n\u003Cli>German: thanks to Jörg and Sven\u003C\u002Fli>\n\u003Cli>Greek: thanks to spirossm\u003C\u002Fli>\n\u003Cli>Spain: thanks to Màxim\u003C\u002Fli>\n\u003Cli>Brazil (Portuguese): thanks to Marcelo\u003C\u002Fli>\n\u003Cli>Dutch: thanks to Patrick\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The plugin requires\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cp>PHP version 5.6 or greater\u003Cbr \u002F>\n  WordPress 4.7 or greater\u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcmb2\u002F\" title=\"CMB2\" rel=\"ugc\">CMB2 plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","A complete solution for any football site. Knockout and round-robin competitions, player profiles and statistics, squads, standings and stadiums.",1000,72627,98,13,"2026-02-06T12:31:00.000Z","5.9",[20,21,22],"https:\u002F\u002Fanwppro.userecho.com\u002Fcommunities\u002F1-football-leagues","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-leagues-by-anwppro.0.17.2.zip","2025-08-11 00:00:00",{"attackSurface":132,"codeSignals":278,"taintFlows":635,"riskAssessment":805,"analyzedAt":816},{"hooks":133,"ajaxHandlers":203,"restRoutes":273,"shortcodes":274,"cronEvents":275,"entryPointCount":276,"unprotectedCount":277},[134,140,144,148,151,156,159,162,165,168,173,178,182,186,190,194,199],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","add_meta_boxes","add_matches_metaboxes","meta-boxes\\matches.php",31,{"type":135,"name":141,"callback":142,"file":138,"line":143},"save_post","tss_matches_meta_save",472,{"type":135,"name":136,"callback":145,"file":146,"line":147},"add_players_metaboxes","meta-boxes\\players.php",30,{"type":135,"name":141,"callback":149,"file":146,"line":150},"tss_players_meta_save",218,{"type":135,"name":152,"callback":153,"file":154,"line":155},"init","tss_seasons_init","post-types\\post-types.php",11,{"type":135,"name":152,"callback":157,"file":154,"line":158},"tss_opponents_init",56,{"type":135,"name":152,"callback":160,"file":154,"line":161},"tss_players_init",101,{"type":135,"name":152,"callback":163,"file":154,"line":164},"tss_matches_init",146,{"type":135,"name":152,"callback":166,"file":154,"line":167},"tss_matchtypes_init",190,{"type":135,"name":169,"callback":170,"file":171,"line":172},"admin_init","tss_register_settings","settings\\settings.php",19,{"type":135,"name":174,"callback":175,"file":176,"line":177},"admin_menu","tss_add_to_settings_menu","the-soccer-stats.php",45,{"type":135,"name":179,"callback":180,"file":176,"line":181},"admin_enqueue_scripts","tss_admin_styles",79,{"type":135,"name":183,"callback":184,"file":176,"line":185},"wp_head","tss_ajaxurl",81,{"type":135,"name":187,"callback":188,"file":176,"line":189},"wp_enqueue_scripts","tss_styles",115,{"type":135,"name":191,"callback":192,"file":176,"line":193},"edit_form_after_title","tss_modify_title_in_player_edit",136,{"type":195,"name":196,"callback":197,"file":176,"line":198},"filter","single_template","tss_get_custom_post_type_template",153,{"type":135,"name":200,"callback":201,"file":176,"line":202},"plugins_loaded","tss_load_textdomain",266,[204,211,213,217,219,223,225,229,231,235,237,241,243,247,249,253,255,259,261,265,267,271],{"action":205,"nopriv":206,"callback":207,"hasNonce":208,"hasCapCheck":208,"file":209,"line":210},"add_player_to_season",false,"tss_add_player_to_season",true,"ajax\\ajax-admin.php",57,{"action":205,"nopriv":208,"callback":207,"hasNonce":208,"hasCapCheck":208,"file":209,"line":212},58,{"action":214,"nopriv":206,"callback":215,"hasNonce":208,"hasCapCheck":208,"file":209,"line":216},"add_substitution","tss_add_substitution",113,{"action":214,"nopriv":208,"callback":215,"hasNonce":208,"hasCapCheck":208,"file":209,"line":218},114,{"action":220,"nopriv":206,"callback":221,"hasNonce":208,"hasCapCheck":208,"file":209,"line":222},"add_goal","tss_add_goal",175,{"action":220,"nopriv":208,"callback":221,"hasNonce":208,"hasCapCheck":208,"file":209,"line":224},176,{"action":226,"nopriv":206,"callback":227,"hasNonce":208,"hasCapCheck":208,"file":209,"line":228},"add_card","tss_add_card",241,{"action":226,"nopriv":208,"callback":227,"hasNonce":208,"hasCapCheck":208,"file":209,"line":230},242,{"action":232,"nopriv":206,"callback":233,"hasNonce":208,"hasCapCheck":208,"file":209,"line":234},"delete_player_from_season","tss_delete_player_from_season",277,{"action":232,"nopriv":208,"callback":233,"hasNonce":208,"hasCapCheck":208,"file":209,"line":236},278,{"action":238,"nopriv":206,"callback":239,"hasNonce":208,"hasCapCheck":208,"file":209,"line":240},"delete_from_team_stats","tss_delete_player_from_team_stats",332,{"action":238,"nopriv":208,"callback":239,"hasNonce":208,"hasCapCheck":208,"file":209,"line":242},333,{"action":244,"nopriv":206,"callback":245,"hasNonce":208,"hasCapCheck":208,"file":209,"line":246},"add_team_stats","tss_add_team_stats",396,{"action":244,"nopriv":208,"callback":245,"hasNonce":208,"hasCapCheck":208,"file":209,"line":248},397,{"action":250,"nopriv":206,"callback":251,"hasNonce":206,"hasCapCheck":206,"file":209,"line":252},"rebuild_match_titles","tss_rebuild_match_titles",434,{"action":250,"nopriv":208,"callback":251,"hasNonce":206,"hasCapCheck":206,"file":209,"line":254},435,{"action":256,"nopriv":206,"callback":257,"hasNonce":206,"hasCapCheck":206,"file":209,"line":258},"update_seasonal_stats","tss_update_seasonal_stats",459,{"action":256,"nopriv":208,"callback":257,"hasNonce":206,"hasCapCheck":206,"file":209,"line":260},460,{"action":262,"nopriv":206,"callback":263,"hasNonce":206,"hasCapCheck":206,"file":209,"line":264},"update_seasonal_stats_player","tss_update_seasonal_stats_player",479,{"action":262,"nopriv":208,"callback":263,"hasNonce":206,"hasCapCheck":206,"file":209,"line":266},480,{"action":268,"nopriv":206,"callback":269,"hasNonce":206,"hasCapCheck":206,"file":209,"line":270},"update_opponent_stats","tss_update_opponent_stats",501,{"action":268,"nopriv":208,"callback":269,"hasNonce":206,"hasCapCheck":206,"file":209,"line":272},502,[],[],[],22,8,{"dangerousFunctions":279,"sqlUsage":280,"outputEscaping":283,"fileOperations":13,"externalRequests":13,"nonceChecks":629,"capabilityChecks":630,"bundledLibraries":631},[],{"prepared":281,"raw":13,"locations":282},28,[],{"escaped":284,"rawEcho":285,"locations":286},378,199,[287,290,292,294,296,298,300,302,304,306,308,310,312,314,316,319,320,322,325,326,327,329,331,333,335,337,339,340,342,344,345,347,349,351,354,355,356,357,358,359,360,363,364,365,366,367,368,370,371,373,375,377,379,381,382,385,387,389,391,393,395,397,399,401,403,405,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,437,438,439,441,443,444,446,447,449,451,453,455,457,459,461,463,464,465,467,469,471,473,474,475,476,478,480,482,484,485,487,488,489,490,491,492,494,496,498,500,502,504,506,508,509,511,513,515,517,519,521,523,525,527,529,531,532,534,535,537,539,541,543,545,547,549,550,551,553,555,557,559,561,563,564,566,567,569,571,573,574,575,576,577,578,580,582,583,584,585,586,588,589,591,593,594,596,597,600,601,603,604,606,607,608,609,610,611,612,613,614,615,618,620,621,623,625,627],{"file":209,"line":288,"context":289},50,"raw output",{"file":209,"line":291,"context":289},106,{"file":209,"line":293,"context":289},168,{"file":209,"line":295,"context":289},228,{"file":209,"line":297,"context":289},230,{"file":209,"line":299,"context":289},270,{"file":209,"line":301,"context":289},310,{"file":209,"line":303,"context":289},313,{"file":209,"line":305,"context":289},316,{"file":209,"line":307,"context":289},319,{"file":209,"line":309,"context":289},322,{"file":209,"line":311,"context":289},325,{"file":209,"line":313,"context":289},385,{"file":209,"line":315,"context":289},387,{"file":317,"line":318,"context":289},"classes\\tssFilter.php",21,{"file":317,"line":276,"context":289},{"file":317,"line":321,"context":289},42,{"file":323,"line":324,"context":289},"classes\\tssOpponentStats.php",29,{"file":323,"line":147,"context":289},{"file":323,"line":139,"context":289},{"file":323,"line":328,"context":289},32,{"file":323,"line":330,"context":289},33,{"file":323,"line":332,"context":289},39,{"file":323,"line":334,"context":289},47,{"file":323,"line":336,"context":289},55,{"file":323,"line":338,"context":289},66,{"file":323,"line":181,"context":289},{"file":323,"line":341,"context":289},83,{"file":323,"line":343,"context":289},84,{"file":323,"line":26,"context":289},{"file":323,"line":346,"context":289},86,{"file":323,"line":348,"context":289},87,{"file":323,"line":350,"context":289},409,{"file":352,"line":353,"context":289},"classes\\tssPlayerSeasonalStatsTable.php",27,{"file":352,"line":281,"context":289},{"file":352,"line":324,"context":289},{"file":352,"line":147,"context":289},{"file":352,"line":139,"context":289},{"file":352,"line":328,"context":289},{"file":352,"line":102,"context":289},{"file":361,"line":362,"context":289},"classes\\tssPlayerStatsTable.php",24,{"file":361,"line":324,"context":289},{"file":361,"line":147,"context":289},{"file":361,"line":139,"context":289},{"file":361,"line":328,"context":289},{"file":361,"line":330,"context":289},{"file":369,"line":324,"context":289},"classes\\tssSeasonMatchList.php",{"file":369,"line":330,"context":289},{"file":369,"line":372,"context":289},34,{"file":369,"line":374,"context":289},35,{"file":369,"line":376,"context":289},36,{"file":369,"line":378,"context":289},37,{"file":369,"line":380,"context":289},46,{"file":369,"line":334,"context":289},{"file":383,"line":384,"context":289},"functions\\admin-related-functions.php",131,{"file":383,"line":386,"context":289},135,{"file":383,"line":388,"context":289},169,{"file":383,"line":390,"context":289},170,{"file":383,"line":392,"context":289},171,{"file":383,"line":394,"context":289},173,{"file":383,"line":396,"context":289},179,{"file":383,"line":398,"context":289},227,{"file":383,"line":400,"context":289},233,{"file":383,"line":402,"context":289},268,{"file":383,"line":404,"context":289},274,{"file":406,"line":407,"context":289},"functions\\get-matches-by-player.php",127,{"file":406,"line":409,"context":289},137,{"file":406,"line":411,"context":289},138,{"file":406,"line":413,"context":289},139,{"file":406,"line":415,"context":289},140,{"file":406,"line":417,"context":289},141,{"file":406,"line":419,"context":289},151,{"file":406,"line":421,"context":289},152,{"file":406,"line":423,"context":289},159,{"file":425,"line":189,"context":289},"functions\\matches.php",{"file":425,"line":427,"context":289},117,{"file":425,"line":429,"context":289},119,{"file":425,"line":431,"context":289},121,{"file":425,"line":433,"context":289},123,{"file":425,"line":435,"context":289},125,{"file":425,"line":407,"context":289},{"file":425,"line":411,"context":289},{"file":425,"line":415,"context":289},{"file":425,"line":440,"context":289},142,{"file":425,"line":442,"context":289},144,{"file":425,"line":164,"context":289},{"file":425,"line":445,"context":289},158,{"file":425,"line":423,"context":289},{"file":425,"line":448,"context":289},160,{"file":425,"line":450,"context":289},161,{"file":425,"line":452,"context":289},162,{"file":425,"line":454,"context":289},163,{"file":425,"line":456,"context":289},164,{"file":425,"line":458,"context":289},165,{"file":425,"line":460,"context":289},166,{"file":425,"line":462,"context":289},167,{"file":425,"line":293,"context":289},{"file":425,"line":388,"context":289},{"file":466,"line":419,"context":289},"functions\\players.php",{"file":138,"line":468,"context":289},49,{"file":138,"line":470,"context":289},54,{"file":138,"line":472,"context":289},59,{"file":138,"line":348,"context":289},{"file":138,"line":161,"context":289},{"file":138,"line":189,"context":289},{"file":138,"line":477,"context":289},122,{"file":138,"line":479,"context":289},129,{"file":138,"line":481,"context":289},143,{"file":138,"line":483,"context":289},148,{"file":138,"line":198,"context":289},{"file":138,"line":486,"context":289},154,{"file":138,"line":445,"context":289},{"file":138,"line":423,"context":289},{"file":138,"line":423,"context":289},{"file":138,"line":456,"context":289},{"file":138,"line":388,"context":289},{"file":138,"line":493,"context":289},191,{"file":138,"line":495,"context":289},192,{"file":138,"line":497,"context":289},196,{"file":138,"line":499,"context":289},202,{"file":138,"line":501,"context":289},205,{"file":138,"line":503,"context":289},213,{"file":138,"line":505,"context":289},219,{"file":138,"line":507,"context":289},222,{"file":138,"line":297,"context":289},{"file":138,"line":510,"context":289},232,{"file":138,"line":512,"context":289},238,{"file":138,"line":514,"context":289},243,{"file":138,"line":516,"context":289},244,{"file":138,"line":518,"context":289},247,{"file":138,"line":520,"context":289},255,{"file":138,"line":522,"context":289},257,{"file":138,"line":524,"context":289},262,{"file":138,"line":526,"context":289},263,{"file":138,"line":528,"context":289},264,{"file":138,"line":530,"context":289},265,{"file":138,"line":202,"context":289},{"file":138,"line":533,"context":289},269,{"file":138,"line":234,"context":289},{"file":138,"line":536,"context":289},284,{"file":138,"line":538,"context":289},285,{"file":138,"line":540,"context":289},288,{"file":138,"line":542,"context":289},296,{"file":138,"line":544,"context":289},303,{"file":138,"line":546,"context":289},304,{"file":138,"line":548,"context":289},307,{"file":138,"line":240,"context":289},{"file":138,"line":242,"context":289},{"file":138,"line":552,"context":289},337,{"file":138,"line":554,"context":289},342,{"file":138,"line":556,"context":289},347,{"file":138,"line":558,"context":289},352,{"file":138,"line":560,"context":289},357,{"file":138,"line":562,"context":289},362,{"file":146,"line":334,"context":289},{"file":146,"line":565,"context":289},52,{"file":146,"line":210,"context":289},{"file":146,"line":568,"context":289},62,{"file":146,"line":570,"context":289},67,{"file":146,"line":572,"context":289},74,{"file":146,"line":477,"context":289},{"file":146,"line":417,"context":289},{"file":146,"line":456,"context":289},{"file":146,"line":293,"context":289},{"file":171,"line":353,"context":289},{"file":171,"line":579,"context":289},72,{"file":171,"line":581,"context":289},105,{"file":171,"line":413,"context":289},{"file":171,"line":198,"context":289},{"file":171,"line":456,"context":289},{"file":171,"line":460,"context":289},{"file":171,"line":587,"context":289},178,{"file":171,"line":587,"context":289},{"file":590,"line":276,"context":289},"templates\\single-tss-matches.php",{"file":590,"line":592,"context":289},43,{"file":590,"line":288,"context":289},{"file":590,"line":595,"context":289},51,{"file":590,"line":210,"context":289},{"file":598,"line":599,"context":289},"templates\\single-tss-opponents.php",18,{"file":598,"line":67,"context":289},{"file":598,"line":602,"context":289},23,{"file":598,"line":602,"context":289},{"file":605,"line":276,"context":289},"templates\\single-tss-players.php",{"file":605,"line":362,"context":289},{"file":605,"line":281,"context":289},{"file":605,"line":324,"context":289},{"file":605,"line":147,"context":289},{"file":605,"line":139,"context":289},{"file":605,"line":328,"context":289},{"file":605,"line":330,"context":289},{"file":605,"line":372,"context":289},{"file":605,"line":468,"context":289},{"file":616,"line":617,"context":289},"templates\\single-tss-seasons.php",14,{"file":616,"line":619,"context":289},16,{"file":176,"line":26,"context":289},{"file":176,"line":622,"context":289},126,{"file":176,"line":624,"context":289},128,{"file":176,"line":626,"context":289},130,{"file":176,"line":628,"context":289},132,9,7,[632],{"name":633,"version":27,"knownCves":634},"Select2",[],[636,664,677,689,702,713,753,764],{"entryPoint":637,"graph":638,"unsanitizedCount":48,"severity":663},"tss_add_player_to_season (ajax\\ajax-admin.php:17)",{"nodes":639,"edges":659},[640,644,649,651,655],{"id":641,"type":642,"label":643,"file":209,"line":172},"n0","source","$_POST",{"id":645,"type":646,"label":647,"file":209,"line":372,"wp_function":648},"n1","sink","get_results() [SQLi]","get_results",{"id":650,"type":642,"label":643,"file":209,"line":565},"n2",{"id":652,"type":653,"label":654,"file":209,"line":565},"n3","transform","→ tss_list_player_seasons()",{"id":656,"type":646,"label":657,"file":383,"line":330,"wp_function":658},"n4","echo() [XSS]","echo",[660,661,662],{"from":641,"to":645,"sanitized":208},{"from":650,"to":652,"sanitized":206},{"from":652,"to":656,"sanitized":206},"medium",{"entryPoint":665,"graph":666,"unsanitizedCount":48,"severity":663},"tss_add_substitution (ajax\\ajax-admin.php:66)",{"nodes":667,"edges":674},[668,670,672],{"id":641,"type":642,"label":643,"file":209,"line":669},108,{"id":645,"type":653,"label":671,"file":209,"line":669},"→ get_substitutions()",{"id":650,"type":646,"label":657,"file":383,"line":673,"wp_function":658},172,[675,676],{"from":641,"to":645,"sanitized":206},{"from":645,"to":650,"sanitized":206},{"entryPoint":678,"graph":679,"unsanitizedCount":48,"severity":663},"tss_add_goal (ajax\\ajax-admin.php:122)",{"nodes":680,"edges":686},[681,682,684],{"id":641,"type":642,"label":643,"file":209,"line":390},{"id":645,"type":653,"label":683,"file":209,"line":390},"→ tss_list_goals()",{"id":650,"type":646,"label":657,"file":383,"line":685,"wp_function":658},226,[687,688],{"from":641,"to":645,"sanitized":206},{"from":645,"to":650,"sanitized":206},{"entryPoint":690,"graph":691,"unsanitizedCount":48,"severity":663},"tss_add_card (ajax\\ajax-admin.php:184)",{"nodes":692,"edges":699},[693,695,697],{"id":641,"type":642,"label":643,"file":209,"line":694},236,{"id":645,"type":653,"label":696,"file":209,"line":694},"→ tss_list_cards()",{"id":650,"type":646,"label":657,"file":383,"line":698,"wp_function":658},267,[700,701],{"from":641,"to":645,"sanitized":206},{"from":645,"to":650,"sanitized":206},{"entryPoint":703,"graph":704,"unsanitizedCount":48,"severity":663},"tss_delete_player_from_season (ajax\\ajax-admin.php:250)",{"nodes":705,"edges":710},[706,708,709],{"id":641,"type":642,"label":643,"file":209,"line":707},272,{"id":645,"type":653,"label":654,"file":209,"line":707},{"id":650,"type":646,"label":657,"file":383,"line":330,"wp_function":658},[711,712],{"from":641,"to":645,"sanitized":206},{"from":645,"to":650,"sanitized":206},{"entryPoint":714,"graph":715,"unsanitizedCount":752,"severity":663},"tss_delete_player_from_team_stats (ajax\\ajax-admin.php:287)",{"nodes":716,"edges":743},[717,720,722,723,726,727,729,732,734,736,739,741],{"id":641,"type":642,"label":718,"file":209,"line":719},"$_POST (x4)",311,{"id":645,"type":653,"label":721,"file":209,"line":719},"→ tss_list_players_in_match()",{"id":650,"type":646,"label":657,"file":383,"line":384,"wp_function":658},{"id":652,"type":642,"label":724,"file":209,"line":725},"$_POST (x2)",317,{"id":656,"type":653,"label":671,"file":209,"line":725},{"id":728,"type":646,"label":657,"file":383,"line":673,"wp_function":658},"n5",{"id":730,"type":642,"label":724,"file":209,"line":731},"n6",320,{"id":733,"type":653,"label":683,"file":209,"line":731},"n7",{"id":735,"type":646,"label":657,"file":383,"line":685,"wp_function":658},"n8",{"id":737,"type":642,"label":718,"file":209,"line":738},"n9",323,{"id":740,"type":653,"label":696,"file":209,"line":738},"n10",{"id":742,"type":646,"label":657,"file":383,"line":698,"wp_function":658},"n11",[744,745,746,747,748,749,750,751],{"from":641,"to":645,"sanitized":206},{"from":645,"to":650,"sanitized":206},{"from":652,"to":656,"sanitized":206},{"from":656,"to":728,"sanitized":206},{"from":730,"to":733,"sanitized":206},{"from":733,"to":735,"sanitized":206},{"from":737,"to":740,"sanitized":206},{"from":740,"to":742,"sanitized":206},12,{"entryPoint":754,"graph":755,"unsanitizedCount":34,"severity":663},"tss_add_team_stats (ajax\\ajax-admin.php:341)",{"nodes":756,"edges":761},[757,759,760],{"id":641,"type":642,"label":724,"file":209,"line":758},390,{"id":645,"type":653,"label":721,"file":209,"line":758},{"id":650,"type":646,"label":657,"file":383,"line":384,"wp_function":658},[762,763],{"from":641,"to":645,"sanitized":206},{"from":645,"to":650,"sanitized":206},{"entryPoint":765,"graph":766,"unsanitizedCount":172,"severity":663},"\u003Cajax-admin> (ajax\\ajax-admin.php:0)",{"nodes":767,"edges":793},[768,770,771,772,773,774,775,776,777,778,779,780,782,784,786,789,791],{"id":641,"type":642,"label":769,"file":209,"line":172},"$_POST (x3)",{"id":645,"type":646,"label":647,"file":209,"line":372,"wp_function":648},{"id":650,"type":642,"label":724,"file":209,"line":565},{"id":652,"type":653,"label":654,"file":209,"line":565},{"id":656,"type":646,"label":657,"file":383,"line":330,"wp_function":658},{"id":728,"type":642,"label":769,"file":209,"line":669},{"id":730,"type":653,"label":671,"file":209,"line":669},{"id":733,"type":646,"label":657,"file":383,"line":673,"wp_function":658},{"id":735,"type":642,"label":769,"file":209,"line":390},{"id":737,"type":653,"label":683,"file":209,"line":390},{"id":740,"type":646,"label":657,"file":383,"line":685,"wp_function":658},{"id":742,"type":642,"label":781,"file":209,"line":694},"$_POST (x5)",{"id":783,"type":653,"label":696,"file":209,"line":694},"n12",{"id":785,"type":646,"label":657,"file":383,"line":698,"wp_function":658},"n13",{"id":787,"type":642,"label":788,"file":209,"line":719},"n14","$_POST (x6)",{"id":790,"type":653,"label":721,"file":209,"line":719},"n15",{"id":792,"type":646,"label":657,"file":383,"line":384,"wp_function":658},"n16",[794,795,796,797,798,799,800,801,802,803,804],{"from":641,"to":645,"sanitized":208},{"from":650,"to":652,"sanitized":206},{"from":652,"to":656,"sanitized":206},{"from":728,"to":730,"sanitized":206},{"from":730,"to":733,"sanitized":206},{"from":735,"to":737,"sanitized":206},{"from":737,"to":740,"sanitized":206},{"from":742,"to":783,"sanitized":206},{"from":783,"to":785,"sanitized":206},{"from":787,"to":790,"sanitized":206},{"from":790,"to":792,"sanitized":206},{"summary":806,"deductions":807},"The \"the-soccer-stats\" v1.08 plugin exhibits a mixed security posture. On the positive side, it shows strong practices in database interaction, with all SQL queries utilizing prepared statements, and no file operations or external HTTP requests are detected. The absence of known historical vulnerabilities (CVEs) and a lack of critical taint analysis findings are also encouraging signs. However, there are significant security concerns stemming from its attack surface. A substantial number of AJAX handlers (8 out of 22) lack proper authentication checks, creating potential entry points for unauthorized actions. While the taint analysis did not reveal critical or high-severity issues, the presence of unsanitized paths in all analyzed flows, even if flagged as low severity, warrants attention as it could be exploited in conjunction with other weaknesses. The limited number of nonce and capability checks on AJAX handlers further exacerbates the risk posed by the unprotected entry points.",[808,810,812,814],{"reason":809,"points":277},"Unprotected AJAX handlers",{"reason":811,"points":31},"Unsanitized paths in taint flows",{"reason":813,"points":31},"Limited capability checks on AJAX",{"reason":815,"points":31},"Limited nonce checks on AJAX","2026-03-17T00:56:13.228Z",{"wat":818,"direct":843},{"assetPaths":819,"generatorPatterns":830,"scriptPaths":831,"versionParams":832},[820,821,822,823,824,825,826,827,828,829],"\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fcss\u002Ftss-bootstrap.css","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fplugins\u002Fbootstrap\u002Fbootstrap.min.js","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fjs\u002Fadmin-main.js","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fplugins\u002Fselect2\u002Fselect2.min.js","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fcss\u002Ftss-admin.css","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fplugins\u002Fselect2\u002Fselect2.min.css","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fcss\u002Ftss-default.css","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fplugins\u002Ffont-awesome\u002Fcss\u002Ffont-awesome.min.css","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fplugins\u002Ftablesorter\u002Fjquery.tablesorter.min.js","\u002Fwp-content\u002Fplugins\u002Fthe-soccer-stats\u002Fjs\u002Fmain.js",[],[],[833,834,835,836,837,838,839,840,841,842],"the-soccer-stats\u002Ftss-bootstrap.css?ver=","the-soccer-stats\u002Fplugins\u002Fbootstrap\u002Fbootstrap.min.js?ver=","the-soccer-stats\u002Fjs\u002Fadmin-main.js?ver=","the-soccer-stats\u002Fplugins\u002Fselect2\u002Fselect2.min.js?ver=","the-soccer-stats\u002Fcss\u002Ftss-admin.css?ver=","the-soccer-stats\u002Fplugins\u002Fselect2\u002Fselect2.min.css?ver=","the-soccer-stats\u002Fcss\u002Ftss-default.css?ver=","the-soccer-stats\u002Fplugins\u002Ffont-awesome\u002Fcss\u002Ffont-awesome.min.css?ver=","the-soccer-stats\u002Fplugins\u002Ftablesorter\u002Fjquery.tablesorter.min.js?ver=","the-soccer-stats\u002Fjs\u002Fmain.js?ver=",{"cssClasses":844,"htmlComments":845,"htmlAttributes":846,"restEndpoints":847,"jsGlobals":848,"shortcodeOutput":850},[],[],[],[],[849],"ajaxurl",[]]