Player Pages


Player pages display biographical info, season statistics, and game-by-game performance. The page is built from blocks that you arrange using the Layout Builder. Each sport shows sport-specific stat columns — basketball and baseball are fully supported with dedicated stats tables.

Full basketball player page showing header, stat rings, career stats, and game log

🏀 Available Blocks

BlockDescription
HeaderPhoto, name, team, highlight stats, last win/loss, recent form
Stat RingsSVG ring charts with league rank badges and season switcher
Career StatisticsSeason-by-season table with career totals
Game LogPer-game stat lines with season switcher, sortable columns
SplitsHome/Away, Monthly, and Wins/Losses breakdowns
vs. OpponentsPer-opponent averages with W-L record
Advanced StatsExtended efficiency metrics (basketball only)
InfoDetailed metadata grid (height, age, country, contract)
DescriptionCustom content from the WordPress post editor

Baseball-specific blocks: Season Batting and Season Pitching display current season averages in a stat cell grid format.

🏆 Regular Season / Playoffs Filter

Five blocks carry a stage control – a small STAGE label with All / Regular Season / Playoffs buttons, sitting at the right of the season pill row:

  • Stat Rings
  • Game Log
  • vs. Opponents
  • Career Statistics
  • Advanced Stats

Blocks open on Regular Season by default, which is what NBA.com, ESPN and Basketball-Reference all report. Change the default under Settings & Tools > Settings > Display, or per block from its Default Stage option in the Layout Builder.

Each block keeps its own control, so a visitor can view Career Statistics for the playoffs while the Stat Rings above still show the regular season.

When the buttons appear

The control shows only when the season’s imported games are fully tagged with their stage and actually span more than one stage. In practice:

SituationWhat you see
League tags every game and the postseason has started (NBA, NFL, Euroleague)Buttons appear
Season is still in its regular seasonNo buttons yet – they appear on their own once the first postseason game is imported
Provider doesn’t tag this league’s gamesNo buttons, all games shown, exactly as before

A third button labelled Other appears for leagues that report games outside the usual two stages – NBA play-in games, for instance. Rename it to something meaningful for your league (Play-In) under Settings & Tools > Translations. Every stage label is editable there.

Selecting a stage a player has no games in (a player whose team missed the playoffs) shows an empty result with the buttons still in place, so the visitor can switch back.

Career tables and the asterisk

Career Statistics and Advanced Stats span many seasons, and the stage filter applies to every row plus the career total. Some of those seasons may not be tagged by the provider – an MLB career crossing 2025 into 2026 is the common case.

An untagged season keeps all its games in every view rather than disappearing from the table, and is marked with an asterisk plus a footnote reading “Not split by stage – all games included.” The mark appears only where it matters: a season holding nothing but regular-season games reads identically either way, so it stays unmarked under Regular Season.

Why blocks can disagree

Career Statistics looks at every season a player has played, while Stat Rings and Game Log look at one. So a player can show the stage buttons on his career table and none on his rings — that happens when the season currently selected isn’t tagged, and it’s working as intended.

Stat Rings block with the STAGE buttons All, Regular Season, Playoffs and Other, with Regular Season active

Player Header

A compact two-column layout with a team color accent bar below the player name.

Left side: Player photo (or team-colored circle with initials), first name and last name, jersey number badge, team logo and name (linked to team page), position, height, age, and country flag. An injury badge appears when applicable (e.g., “OUT — Back”).

Right side: Last Win and Last Loss dates with “days ago” counter, and a Last 10 row showing colored W/L badges with a win/loss summary.

Player header showing photo, team info, injury badge, last win/loss dates, and form dots

Stat Rings

A visual season overview using SVG ring charts. Each ring fills proportionally based on the stat value relative to the league maximum.

Above the rings, a header line shows Games Played, Minutes per Game, and a color-coded Rating badge. Each ring displays the per-game average value in the center, the full stat name below, and a league rank badge (e.g., “#7”).

Season pills above the rings let you switch between seasons — data loads without page reload.

  • Basketball (8 rings): Points, Rebounds, Assists, Steals, Blocks, FG%, 3P%, FT%
  • Baseball batting (6 rings): Average, Home Runs, RBI, OPS, Stolen Bases, Hits — plus a row of compact stat chips below (AB, R, 2B, 3B, BB, SO, OBP, SLG) with hover tooltips
Basketball stat rings showing 8 categories with league rank badges
Baseball stat rings with secondary stat chips showing AB, R, 2B, BB, SO, OBP, SLG

Career Statistics

A season-by-season statistical table with a career totals row at the bottom.

  • Each row shows one season with the league name as a label
  • Career totals row with bold styling at the bottom
  • Sticky first column for horizontal scrolling on narrow screens
  • Official and unofficial seasons displayed separately — exhibition and preseason leagues appear in a muted section below the main table

Basketball: G, MPG, PPG, RPG, APG, SPG, BPG, FG%, 3P%, FT%, +/-

Baseball: Separate batting and pitching sections when both are available. Batting columns: G, AB, R, H, 2B, 3B, HR, RBI, BB, SO, SB, AVG, OBP, SLG, OPS. Pitching columns: G, GS, W, L, SV, IP, H, R, ER, BB, SO, HR, ERA, WHIP.

Career statistics table showing per-season rows and career totals

Game Log

A sortable table showing every game’s stat line for the selected season.

  • Season pills — switch between seasons without page reload
  • AVG row at top — per-game averages for the season
  • TOTAL row at bottom — season totals (where applicable)
  • Opponent team with logo and @ (away) / vs (home) prefix
  • Game result linked to the game page (hover shows a game peek card)
  • Percentage columns (FG%, 3P%, FT%) with gradient fill backgrounds
  • +/- values colored green (positive) or red (negative)
  • Rating column with a color-coded badge
  • Click any column header to sort
Game log table with season pills, AVG/TOTAL calc rows, gradient fills, and rating badges

Splits

Compare performance across different contexts. The block combines three analysis categories with tab switching.

Season pills (outer row) select which season to view. Category tabs (inner row) switch between:

  • Home / Away — side-by-side comparison of home and away performance
  • Monthly — per-month breakdown (October, November, December, etc.)
  • Wins / Losses — averages in games the team won vs. lost

All three tabs use the same stat columns as career statistics. Baseball shows separate batting and pitching tables per tab. All seasons are pre-rendered inline — switching is instant with no loading delay.

Splits block showing Home/Away tab with season pills and stat columns

vs. Opponents

Per-opponent statistical breakdown showing how the player performs against each team.

  • Opponent team with outlined code badge and full name
  • W-L record against each team
  • Games played count
  • Full stat columns (same as career stats)
  • Season pills — “All” shows combined multi-season data, individual pills filter to one season. “All {League}” aggregates across seasons within one league
  • Data loads via REST API when switching seasons

Only official seasons are shown — exhibition and preseason leagues are excluded.

Opponent stats table with team code badges, W-L records, and season pills

Advanced Stats

Basketball only. Extended efficiency metrics calculated from per-game data.

Two views available via tab pills:

  • Advanced — TS%, eFG%, 3PAR, FTR, AST%, TOV%, GameScore
  • Per 36 Min — all counting stats normalized to 36 minutes of play

Shows season-by-season rows with career totals, same table format as Career Statistics.

Advanced stats table with Advanced and Per 36 Min tab pills

Player Info

A metadata grid showing all available player details:

FieldNotes
HeightImperial (US sports) or metric
Date of BirthWith calculated age
CountryWith flag icon
PositionFull position name
Jersey NumberCurrent number
StatusActive / Injured / Other
Contract / SalaryWhen available from API
TeamWith logo, linked to team page
LeagueCurrent league name
Injury DetailsWhen applicable

Description

Custom content from the WordPress post editor. Useful for adding scouting reports, player profiles, or editorial content not available from the API.

Edit from the player’s post in Hub Data > Players.

📚 Related