Shortcodes¶
Seven shortcodes: three from Club Player Manager that put the club's public forms on the site, and four from English FA for fixtures and results. All of them go in ordinary page or post content.
Club Player Manager¶
[cpm_signup_form]¶
The join-the-club form. Asks for the child's name and date of birth, the parent's name, email and mobile, which teams they are interested in, where they are, and anything else they want to add.
A submission lands on the waiting list and emails the club secretary, the secretary of every squad whose date-of-birth range and type match the child, and a fallback address if no squad matches at all. All three are configured on Edit Emails.
No attributes.
[cpm_registration_form]¶
The season confirmation form parents reach from their emailed link. It lists that parent's children for the season and takes a yes or no for each.
| Attribute | Default | What it does |
|---|---|---|
season_id |
the active season | Pins the page to one season. Use it when two seasons are open at once. |
It accepts three kinds of link, and the parent never sees which they have: the stable per-parent link in the season approval email, a single-use link for one player, and a 24-hour self-service link from the request form. With no valid link — someone landed here directly, or their link expired — the page falls back to the request form rather than a dead end.
[cpm_registration_request]¶
The self-service "send me my link" form, for a parent who has lost their email.
No attributes. Two ways in:
- By email address — if it matches a parent on file, their link is emailed to them.
- By the child's FA Number and date of birth — on a match, the parent goes straight to the registration form with no email round trip.
Both answer identically whether or not the details match anything, so the form cannot be used to find out who is registered with the club. Repeated failed attempts from one address are throttled, and repeat requests for the same address are rate-limited so nobody can be email-bombed.
Put this page's address in the approval email
It is the difference between a parent who has lost their link mailing the club secretary and a parent who sorts it out themselves.
English FA¶
These need the English FA plugin. Each team attribute accepts
whichever name the editor knows the team by — its slug, the name the club registers players under,
or its display name.
[english_fa_fixtures]¶
Upcoming fixtures for one team, or for every tracked team when team is left out — which is what a
club-wide "next matches" block on a home page wants.
[english_fa_fixtures team="under-11s" limit="5"]
[english_fa_fixtures heading="This weekend" show="competition,venue"]
| Attribute | Default | What it does |
|---|---|---|
team |
every tracked team | Which team to list. Slug, registered name or display name. |
limit |
the Fixture limit setting (5) | How many matches to show |
heading |
Fixtures |
Replaces the heading above the list |
show |
competition,venue |
Optional columns, comma-separated: competition, venue. Pass an empty string for neither. |
When no team is given, each row also names the team it belongs to.
[english_fa_results]¶
Recent results. Identical to [english_fa_fixtures], with results-flavoured defaults.
| Attribute | Default | What it does |
|---|---|---|
team |
every tracked team | Which team to list |
limit |
the Result limit setting (5) | How many matches to show |
heading |
Results |
Replaces the heading above the list |
show |
competition |
Optional columns: competition, venue |
[english_fa_matches]¶
Fixtures and results together, in that order — the usual contents of a team page.
| Attribute | Default | What it does |
|---|---|---|
team |
every tracked team | Which team to list |
fixtures |
the Fixture limit setting (5) | How many fixtures |
results |
the Result limit setting (5) | How many results |
show |
competition,venue |
Optional columns, applied to both lists |
[english_fa_teams]¶
A list of every published team, each linking to its generated page at /teams/<slug>/.
| Attribute | Default | What it does |
|---|---|---|
heading |
a default heading | Replaces the heading above the list |
Notes¶
Empty states are rendered, not hidden. A team with no fixtures produces "No fixtures listed at the moment." rather than an empty page — deliberate, so an editor can tell a working shortcode from a mistyped one.
Styles load only where a shortcode renders. English FA enqueues its stylesheet at render time, so pages without a match list carry no extra CSS.
A shortcode rendering as literal text means WordPress is not running shortcodes on that page — usually a block or template outputting raw content. Put it in an ordinary paragraph or shortcode block.