LNC Chessboard
LNC Chessboard

LNC Chessboard

0/5 (0 ratings) — active installs Updated Nov 9, 2026

LNC Chessboard is a WordPress plugin made for chess content creators and players.

Embed interactive, themed chess game boards and live Chess.com and Lichess player stats, using a shortcode or block.

Game Viewer & Analysis

Show chess games the modern way. Paste a PGN or upload a .pgn file, and your readers get an interactive board right in your post. They can step through the moves, click any move in the notation, or open the position in Lichess analysis.

  • Board themes: brown, blue, green, grey, and LNC purple, or pick your own square colours to match your site.
  • Positions too: set up a single position or paste a FEN, then draw arrows and highlight squares to explain an idea.
  • Autoplay: play through a game hands-free at slow, normal, or fast speed.
  • Clean embeds: hide the move list, buttons, or analysis links, and set the board size.
  • Keyboard friendly: arrow keys step through moves, with screen-reader announcements.
  • Save and reuse: store games under LNC Chessboard Chess Games. Players, event, date, and result are read from the PGN.

Add a game with the Chess Game block, or with a shortcode:

[lncchess_game id="123"]
[lncchess_game pgn="1. e4 e5 2. Nf3 Nc6 3. Bb5 a6" theme="green"]

Player Profiles

Show any chess.com or Lichess player’s stats, fetched live so ratings are always current.

  • Stats dashboard (default): charts for win rate or activity by time control, ratings by format, results, and peak vs current rating, plus tiles for peak rating, total games, win rate, and FIDE.
  • Compact card: a small summary for sidebars. Add layout="card".
  • Dark and light themes.

chess.com profiles include ratings with peaks, results per time control, tactics, and Puzzle Rush. Lichess profiles include every time control, games per format, bio, online status, and playing time. Both use free public APIs, so no API key is needed.

Build a shortcode with a live preview under LNC Chessboard Player Profiles, or write one yourself:

[lncchess_profile source="chesscom" username="hikaru"]
[lncchess_profile source="lichess" username="DrNykterstein" theme="light"]

Multilingual

Translated into German, French, Russian, Polish, Turkish, and Brazilian Portuguese. The plugin follows your site language under Settings General. Chess terms such as Blitz, Rapid, PGN, and FIDE stay in English. You can help add your language on translate.wordpress.org.

Shortcode Reference

[lncchess_profile]

Attribute
Values
Default
Description

source
chesscom, lichess
chesscom
Platform to fetch the profile from.

username
Any username
(required)
The player’s username on that platform.

layout
dashboard, card
dashboard
Stats dashboard with charts, or compact card.

theme
dark, light
dark
Visual theme.

[lncchess_game]

Use one of id (a saved game or position), pgn (a one-off game), or fen (a one-off position). Saved settings apply unless you override them.

Attribute
Values
Default
Description

id
A saved game’s post ID

Embed a saved game or position.

pgn
PGN text

Inline game.

fen
A FEN string

Inline position diagram.

theme
brown, blue, green, gray, lnc
brown
Board colour theme.

orientation
white, black
white
Side at the bottom.

light-color
Hex colour, e.g. #ffffff

Custom light squares (use with dark-color).

dark-color
Hex colour, e.g. #9b7fd4

Custom dark squares (use with light-color).

autoplay
true, false
false
Play automatically on load.

speed
slow, normal, fast
normal
Autoplay speed.

show-moves
true, false
true
Show the move list.

show-controls
true, false
true
Show the navigation buttons.

show-analysis
true, false
true
Show the Lichess and Copy FEN buttons.

size
200–1200
auto
Board width in pixels.

External APIs

LNC Chessboard connects to the following external services. The chess.com and Lichess connections are only made when a Player Profile shortcode is present on a page, or when a user previews a profile in the WordPress admin. The feedback connection is only made when an administrator submits the optional deactivation form.

1. chess.com Published Data API
* Service: chess.com
* URL: https://api.chess.com/pub/
* Purpose: Fetches public player profile data including username, avatar, title, ratings, win/loss/draw record, country, followers, and join date.
* Data sent: The chess.com username entered in the shortcode attribute. No personal data from your WordPress site or its visitors is transmitted.
* Authentication: None required. The chess.com Published Data API is fully public.
* Privacy Policy: https://www.chess.com/legal/privacy
* Terms of Service: https://www.chess.com/legal/user-agreement

2. Lichess Public API
* Service: Lichess (lichess.org)
* URL: https://lichess.org/api/
* Purpose: Fetches public player profile data including username, title, ratings across all time controls, win/loss/draw record, bio, FIDE rating, online status, playing time, and patron status.
* Data sent: The Lichess username entered in the shortcode attribute. No personal data from your WordPress site or its visitors is transmitted.
* Authentication: None required. The Lichess public API is free and open.
* Privacy Policy: https://lichess.org/privacy
* Terms of Service: https://lichess.org/terms-of-service

Caching: All profile API responses are cached on your WordPress server for 5 minutes using WordPress transients. This keeps your chess pages loading fast while ensuring data stays fresh.

3. Lichess Analysis / Import (Game Viewer)
* Service: Lichess (lichess.org)
* URL: https://lichess.org/analysis/ and https://lichess.org/import
* Purpose: Optional, user-initiated handoff from the Game Viewer. When a visitor clicks “Analyze this position” or “Open full game on Lichess”, their browser opens Lichess in a new tab with the current FEN or the game’s PGN.
* Data sent: Only the chess position (FEN) or game (PGN) being viewed, and only when the visitor clicks the button. These requests are made by the visitor’s browser, not your WordPress server. No automatic or background requests are made.
* Privacy Policy: https://lichess.org/privacy
* Terms of Service: https://lichess.org/terms-of-service

4. Deactivation feedback (Google Apps Script)
* Service: Google Apps Script, run by the Late Night Chess team, which saves responses to a private Google Sheet.
* URL: https://script.google.com/
* Purpose: When an administrator deactivates LNC Chessboard, an optional form asks why. Responses help us improve the plugin.
* Data sent: Only if the administrator clicks “Submit & Deactivate”: the chosen reason, the optional comment, the plugin name and version, and the site’s address (for example https://example.com). Nothing is sent when they click “Skip & Deactivate”, close the form, or use bulk deactivation. No visitor data is ever sent.
* Google Privacy Policy: https://policies.google.com/privacy
* Google Terms of Service: https://policies.google.com/terms

Bundled Libraries

LNC Chessboard bundles these open-source JavaScript libraries locally (no external CDN is used at runtime):

  • chess.js (BSD-2-Clause) — PGN parsing and chess rules. Loaded only on pages with a game viewer.
  • chessground (GPL-3.0-or-later) — the board UI developed for Lichess. Loaded only on pages with a game viewer.
  • Chart.js 4.6.1 (MIT) — the charts in the player stats dashboard. Loaded only on pages with a dashboard-layout player profile, and on the Player Profiles admin page for the live preview.

Privacy Policy

LNC Chessboard does not collect, store, or transmit any personal data about your WordPress site’s visitors.

When an administrator deactivates the plugin, an optional feedback form appears. If they choose to submit it, the selected reason, any comment they type, the plugin version, and the site’s address are sent to the Late Night Chess team through Google Apps Script and stored in a private Google Sheet. Nothing is sent if they skip or close the form. Please don’t include personal information in the comment box.

When a Player Profile shortcode is rendered, LNC Chessboard makes a server-side request from your WordPress server to chess.com or Lichess. The only data sent to these external services is the chess username specified in the shortcode — no visitor IP addresses, cookies, or personal information are included in these requests.

Fetched profile data is stored temporarily in your WordPress database as a transient cache for up to 5 minutes, then automatically deleted and refreshed. This data is entirely public information sourced from the respective chess platform’s public API.

For more information on how chess.com and Lichess handle data, refer to their respective privacy policies linked in the External APIs section above.