Skip to main content

Managing Positions

Positions are a WordPress taxonomy (`sp_position`) used to classify players by their role in a sport — for example, Goalkeeper, Forward, Midfielder.

Updated today

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

  1. 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

  2. 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_position filter 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_order term 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.

Did this answer your question?