BACK TO DIRECTORY

Table Tennis Tournament for Clubs

by neutcomp

0.0
(0 ratings)

Table Tennis Tournament for Clubs provides a focused admin workflow for maintaining player ratings and contact details, creating tournaments, and assigning active players to each tournament.

Player emails are stored for club administration and are not shown in public shortcodes.

Features

  • Player records with name, rating, email, and active status.
  • Tournament records with name, description, date, time, separate best-of formats for preliminary rounds, intermediate rounds, and finals, player type, and status.
  • Optional phone number collection, configurable as required per tournament.
  • Optional per-tournament attendance question with email notifications for people who cannot attend.
  • Optional Tikkie QR-code registration payments with a fee and direct payment link; configure a bank account for manual transfers.
  • Tournament Players screen for adding and removing participants.
  • Inactive players cannot be assigned to new tournaments.
  • Tournament Scores screen with one, three, or five score fields per generated match.
  • Score validation requiring 11 points (with a 2+ point margin) or a deuce win with exactly two points lead, plus a completed Best of 1, Best of 3, or Best of 5 match without superfluous or skipped games.
  • Automatic crossover rounds after all group matches are complete. Two groups produce a final and third-place match, three groups produce a round-robin among the group winners, and four groups produce semi-finals followed by a final and third-place match.
  • Optional no-follow-up mode that ends the tournament with each group’s final standings and does not declare an overall champion.
  • Group and crossover standings are ordered by match wins, game difference, point difference, and then a stable player-order fallback.
  • Public tournament pages with groups, round-robin match schedules, and match scores.
  • TV mode (?showtv=true) for showing live scores full-screen on a TV, with automatic slide cycling and live refresh when scores are saved.
  • Public player pages at /speler/{player-name}/{player-id} with player details, played tournaments, and finalized top-three positions.
  • Public shortcodes for tournament and active player lists.

Shortcodes

[tttc_tournaments] displays published tournaments and their assigned players.

Each published tournament title links to /{tournament-url-base}/{tournament-name}/{DD-MM-YYYY}. The default URL base is toernooi; change it under Settings > Table Tennis > URLs. The public tournament page lists active assigned players by rating, distributes them into groups using the tournament group rules, and shows every round-robin match in each group. Schedules are available for 4 to 28 players.

Upcoming tournament pages also accept player signups. A new signup creates an active player and assigns them to the tournament. If the same name and email already exist, the existing player’s rating is updated, the player is reactivated, and the player is assigned to the tournament without creating a duplicate. The tournament’s player type restriction is enforced. Tournaments can optionally first ask whether the visitor is joining; a “No” response collects their name, email, and an optional reason, then emails the configured tournament contact without creating a player or assignment.

Players must provide an email address when signing up. A phone number is collected and is required only when enabled for that tournament. After a successful signup, the plugin sends an HTML confirmation email using the sender address, subject, and body configured under Settings > Table Tennis. When payment details are enabled for the tournament, the email appends the registration fee and configured payment instructions, including the uploaded QR-code image and optional direct payment link. The success page also shows configured payment instructions. Signup closes at the start of the tournament date in the WordPress site’s local timezone; expired tournaments show a disabled signup button. Tournament times use the 24-hour HH:MM format. The email subject and body support [tournament-name], [tournament-date], [tournament-time], and [tournament-link]. Email delivery does not undo a saved signup.

Optional attributes:

  • [tttc_tournaments limit="10"]
  • [tttc_tournaments id="123"]

    [tttc_players] displays active published players and their ratings.

Optional attribute:

  • [tttc_players limit="50"]

TV mode

Add ?showtv=true to a public tournament page, for example /{tournament-url-base}/{tournament-name}/{DD-MM-YYYY}/?showtv=true (the default base is toernooi), to show a bare full-screen scoreboard without the theme header, footer, breadcrumbs, QR code, player list, or signup form.

  • Each group is shown as one slide with all of its rounds and, once the group is complete, its standings. Crossover rounds, the final, and the final places follow as separate slides. The final and third-place match appear only when both players are known.
  • When there is more than one slide, the page cycles to the next slide at the interval configured under Settings > Table Tennis > TV Display (20 seconds by default).
  • Every 10 seconds the page checks /wp-json/tttc/v1/tournaments/{id}/version. When scores, players, or the tournament status change in the admin, the page reloads automatically and stays on the current slide.
  • Tournaments that are not active or completed yet show a notice and switch to the scoreboard automatically once the schedule becomes available.

If a page cache or CDN is used, exclude the TV URL or the REST endpoint from caching for the fastest updates.

Tournament statuses

Draft, Upcoming, Active, Completed, and Cancelled are available. Draft tournaments are managed in the admin area but are not shown by public shortcodes.

External services

When a visitor successfully signs up for an upcoming tournament, the plugin uses WordPress’s wp_mail() function to send an HTML confirmation email. It passes the visitor’s email address, configured sender address, subject, and message to WordPress. The message can include the tournament name, date, time, and public tournament URL. If payment details are enabled, it can also include the tournament’s uploaded payment QR image, served from the website’s media library, and an optional direct payment link. Email clients may block remote images. The email is sent only after the signup has been saved.

When a visitor indicates that they are not joining and this option is enabled, the plugin also uses WordPress’s wp_mail() function to send their name and optional reason to the tournament’s configured notification address, using the configured sender and the visitor’s email as Reply-To. The website’s mail transport is configured by the site owner and may be the hosting provider or a separately installed mail service. This plugin does not select or connect to a specific email provider, so the applicable provider’s terms of service and privacy policy depend on the website’s configuration.

Tournament QR codes are generated in the visitor’s browser using JavaScript bundled with the plugin. The tournament URL is not sent to a QR-code service.

Privacy

Player email addresses are available to administrators in WordPress and are never rendered by the public shortcodes.
Player phone numbers are stored with player records and available to administrators; they are not rendered publicly.
Tournament QR codes are generated in the visitor’s browser using JavaScript included with the plugin. Viewing a tournament page does not request a QR-code image from an external service.

Screenshots

Plugin Details

Active Installs
0
Total Downloads
502
Version
1.0.8
Requires WP
6.3
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-09-29
Last Updated
2026-10-26 11:28am GMT

Ratings

5
0
4
0
3
0
2
0
1
0