Managing Positions
Positions are a WordPress taxonomy (sp_position) used to classify players by their role in a sport — for example, Goalkeeper, Forward, Midfielder.
Accessing the Screen
Navigate to Players > Positions in the WordPress admin menu.
Creating a Position
On the Positions screen, fill in the fields on the left panel:
Name — the display name (e.g., "Goalkeeper")
Slug — the URL-friendly identifier, auto-generated from the name or entered manually (e.g.,
goalkeeper)Parent Position — optionally choose a parent to create a hierarchy (e.g., "Central Midfielder" under "Midfielder")
Description — optional descriptive text; not displayed on frontend by default
Click Add New Position.
Editing a Position
In the positions list on the right, hover over a position name and click Edit to open the full edit form. Click Quick Edit to rename or change the slug inline.
Deleting a Position
Hover over a position in the list and click Delete. Deleting a position removes the taxonomy term but does not delete any player records. Players previously assigned to that position lose the assignment.
Field Reference
Name — shown in player list group headings, in player Details on the frontend, and in dropdown filters.
Slug — used in URLs and as the filter value in the
sp_positionfilter on the Players list screen.Parent Position — creates a hierarchical taxonomy. Hierarchical positions are supported by WordPress but SportsPress does not use nesting in its own UI — all positions appear flat in dropdowns regardless of parent assignment.
Description — stored but not rendered by SportsPress templates.
Order — not a built-in taxonomy field. SportsPress reads an
sp_orderterm meta value to sort positions. Edit this by going to a position's edit screen and looking for the Order field if it is present (depends on theme or plugin additions).
How Positions Are Used
Filtering in the Players list screen — the position dropdown filter on the Players admin list restricts visible players to those assigned to that position.
Filtering in player lists — the Position filter in the Details meta box of a player list (sp_list post type) restricts which players auto-populate the list.
Grouping in player lists — when Grouping is set to Position in the player list Details meta box, players are grouped under their position names as headings.
Player profiles — positions assigned to a player appear in the Details section of their frontend profile when the Position detail is enabled in Player Settings.
Sorting positions — the SP_Player::positions() method retrieves positions sorted by sp_order term meta. Setting sp_order on a position term controls the order positions appear in grouped lists and player profiles.
Staff Jobs
Staff roles (Coach, Manager, Physio, etc.) are managed separately under Staff > Jobs. Jobs are a different taxonomy from Positions — Positions classify players, Jobs classify staff.
Position vs. Position Field on a Player
There are two separate concepts:
Position taxonomy assignment — set in the Positions field of the player's Details meta box. A player can be assigned to multiple positions in the taxonomy. This is the primary way positions are used for filtering and grouping.
Position override in a player list row — in the player list admin (the data table), each player row has a Position column that can be set to a specific position or left as Auto. When set to a specific position, that value overrides the player's taxonomy assignments for display in that particular list only.
