LNC Chessboard

Description

LNC Chessboard is a WordPress plugin made for chess players, coaches, clubs, and tournament organisers.

It lets you easily display live chess player profiles from Chess.com and Lichess directly on your WordPress website using a simple shortcode.

🟢 Available Now: Player Profiles

The Player Profiles module lets you embed beautiful, always-fresh chess player profile cards anywhere on your WordPress site using a simple shortcode. Each profile card is fetched live from the platform’s public API every time your page loads, so your visitors always see the most up-to-date ratings, win/loss/draw record, titles, and account details.

chess.com Player Profiles
Connect your WordPress site directly to chess.com. Display a player’s avatar, country, title (GM, IM, FM, etc.), bullet/blitz/rapid/daily ratings, total wins, losses, draws, follower count, and join date — all in one elegant card. The LNC Chessboard chess.com integration uses the official chess.com Published Data API, which is completely free and requires no API key.

Lichess Player Profiles
Bring Lichess player data into your WordPress pages with the same ease. The Lichess integration displays the player’s title, all time-control ratings (bullet, blitz, rapid, classical, chess960, and more), W/L/D record, bio, FIDE rating (if set), online status, playing time, and patron status. The LNC Chessboard Lichess integration uses the official Lichess public API, which is free and open.

How Player Profiles works on your WordPress site:
1. Go to LNC Chessboard Player Profiles in your WordPress admin.
2. Choose chess.com or Lichess, enter a username, and select a card theme (dark or light).
3. Click Preview Card to see exactly how it will look.
4. Copy the generated shortcode and paste it into any WordPress post, page, or widget.

Example shortcodes:
[lncchess_profile source=»chesscom» username=»hikaru»]
[lncchess_profile source=»lichess» username=»DrNykterstein»]
[lncchess_profile source=»lichess» username=»Magnus» theme=»light»]

Chess coaches can use Player Profiles to showcase their own credentials on their WordPress coaching site. Chess clubs can display member profiles on their WordPress club page. Tournament organisers can highlight top players ahead of an event.

🟢 Available Now: Game Viewer & Analysis

The Game Viewer module turns any PGN into a clean, interactive chessboard embedded in your posts and pages. Paste PGN text or upload a .pgn file, and the viewer renders the game with a professional board you can replay move by move.

What the Game Viewer does:
* Renders a themed, interactive board from any PGN (five predefined themes — brown, blue, green, grey, and LNC purple — plus a custom option where you pick your own light and dark square colours to match your site).
* Autoplay — a play/pause control (and autoplay/speed options) steps through the game hands-free.
* Full replay controls — jump to the start or end, step forward and backward, and click any move in the notation to jump straight to that position.
* Keyboard friendly — use the arrow keys to step through moves and Home/End to jump, with screen-reader announcements of each move.
* Position analysis — open the exact current position in Lichess analysis, copy the position’s FEN, or send the whole game to Lichess with one click.
* Save games once and reuse them anywhere — each saved game gets a simple shortcode and a native block.

Two ways to display a game:
1. Paste PGN directly into the shortcode or block for a one-off game.
2. Save a game under LNC Chessboard Chess Games, then embed it by id and reuse it across any number of posts and pages. Players, event, date, and result are read automatically from the PGN headers.

Example shortcodes:
[lncchess_game id=»123″]
[lncchess_game pgn=»1. e4 e5 2. Nf3 Nc6 3. Bb5 a6″ theme=»green» orientation=»black»]

Or add the Chess Game block in the WordPress block editor, pick a saved game or paste PGN, and choose a theme and orientation from the sidebar.

Why LNC Chessboard?

Chess is one of the fastest-growing online communities, and WordPress powers over 40% of all websites. Yet until now, chess clubs, coaches, and content creators have had to rely on clunky embeds and disconnected tools to bring chess content into WordPress. LNC Chessboard changes that.

Built by Late Night Chess — a team of chess enthusiasts and WordPress developers — LNC Chessboard is designed from the ground up for the chess community. Every feature is purpose-built for chess use cases: chess club management, chess coaching, chess tournament administration, and chess content creation. No bloat, no irrelevant features — just chess, inside WordPress.

Shortcode Reference

[lncchess_profile] — Display a live player profile card.

Attribute
Values
Default
Description

source
chesscom, lichess
chesscom
The platform to fetch the profile from.

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

theme
dark, light
dark
Visual theme of the profile card.

[lncchess_game] — Display an interactive PGN game viewer.

Attribute
Values
Default
Description

id
A saved game’s post ID
(none)
Embed a saved game from your Chess Games library.

pgn
PGN text
(none)
Inline PGN to display (used when no id is given).

theme
brown, blue, green, gray, lnc
brown / saved
Board colour theme. Overrides a saved game’s theme.

orientation
white, black
white / saved
Which side is on the bottom of the board.

light-color
A hex colour (e.g. #ffffff)
(none)
Custom light-square colour. Overrides the theme.

dark-color
A hex colour (e.g. #9b7fd4)
(none)
Custom dark-square colour. Overrides the theme.

autoplay
true, false
false / saved
Play the game automatically on load.

speed
slow, normal, fast
normal / saved
Autoplay step speed.

Provide either id (for a saved game) or pgn (for a one-off game). When embedding by id, the saved theme, orientation, colours, and autoplay settings are used unless you override them. Set both light-color and dark-color to use a custom board colour scheme (this takes precedence over the named theme). The lnc theme pairs white squares with LNC purple (#9b7fd4).

Example with custom colours and autoplay:
[lncchess_game id=»123″ light-color=»#ffffff» dark-color=»#9b7fd4″ autoplay=»true» speed=»fast»]

External APIs

LNC Chessboard connects to the following external services to fetch chess player data. These 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.

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

Bundled Libraries

The Game Viewer bundles two open-source JavaScript libraries locally (no external CDN is used at runtime):

  • chess.js (BSD-2-Clause) — PGN parsing and chess rules.
  • chessground (GPL-3.0-or-later) — the board UI developed for Lichess.

Both are loaded only on pages where a game viewer is present.

Privacy Policy

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

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.

Blocks

This plugin provides 1 block.

  • Chess Game

Installation

  1. Upload the lnc-chessboard folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Go to LNC Chessboard in your WordPress admin sidebar.
  4. Navigate to Player Profiles to start building your first shortcode.

FAQ

Do I need an API key for chess.com or Lichess?

No. Both the chess.com Published Data API and the Lichess public API are completely free and require no API key or account to use. LNC Chessboard connects to them directly from your WordPress server.

Does the Game Viewer need an internet connection or an account?

No. The Game Viewer parses and renders PGN entirely in the visitor’s browser using bundled libraries — no account, API key, or external request is needed to view a game. The optional «Analyze on Lichess» and «Open full game on Lichess» buttons simply open Lichess in a new tab when a visitor clicks them.

What PGN can I use with the Game Viewer?

Any standard PGN with the usual [Tag "value"] headers and SAN movetext. You can paste it directly or upload a .pgn file in the Chess Game editor. Games that start from a custom position (via a FEN header) are supported too.

Does LNC Chessboard slow down my WordPress site?

No. LNC Chessboard only loads its CSS and JavaScript on pages where a chess shortcode is actually used. Additionally, all API responses are cached server-side for 5 minutes, so the external chess API is not called on every single page load.

Can I show multiple player profiles on the same WordPress page?

Yes. You can place as many [lncchess_profile] shortcodes on a single WordPress page as you need. Each one fetches independently and is cached separately.

Can I use the dark and light themes on the same page?

Yes. Each shortcode accepts its own theme attribute, so you can mix dark and light profile cards on the same WordPress post or page.

Is the player data always up to date?

Data is cached for 5 minutes on your WordPress server. After the cache expires, the next page visit automatically fetches fresh data from chess.com or Lichess. This means ratings and records are always within 5 minutes of being current.

Will Tournament Manager and PGN Library be free?

We intend to keep the core of LNC Chessboard free. Some advanced features may be offered as premium add-ons. Visit https://sxecurify.github.io/latenightchess/ for the latest information.

Where can I get support or request a feature?

Use our contact form at https://docs.google.com/forms/d/e/1FAIpQLSdToTzDVabqzdBXFjF5CtANZ_XVu1–VxrEdMu93Xyzy5KjcA/viewform to get in touch with the Late Night Chess team. Every message is read and every feature request helps shape the roadmap.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“LNC Chessboard” is open source software. The following people have contributed to this plugin.

Contributors

Translate “LNC Chessboard” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.1.2

  • Fix: a saved game using a named board theme (e.g. Green or LNC) could render with the default custom colours instead of the chosen theme. Custom colours are now stored only when the «Custom colours» theme is selected.
  • Housekeeping: trimmed the plugin short description to meet the 150-character limit.

1.1.1

  • Game Viewer: added autoplay with a play/pause control and slow/normal/fast speeds.
  • Game Viewer: added an «LNC» board theme (white + #9b7fd4) and a custom-colours option with light/dark square pickers.
  • Custom colours and autoplay are configurable via shortcode attributes, the block inspector, and the Chess Game editor, and are saved per game.

1.1.0

  • New Game Viewer & Analysis module.
  • Display interactive PGN games via the [lncchess_game] shortcode or the «Chess Game» block.
  • Move-by-move replay with clickable notation and keyboard navigation.
  • Four predefined board colour themes and selectable orientation.
  • «Analyze this position» and «Open full game» handoff to Lichess, plus Copy FEN.
  • New «Chess Games» post type to save games and reuse them across posts and pages; players, event, date, and result are read automatically from PGN headers.
  • PGN paste or .pgn file upload with client-side validation.
  • Bundles chess.js and chessground locally (no runtime CDN).

1.0.0

  • Initial release.
  • Player Profiles module: live chess.com and Lichess profile cards via shortcode.
  • Admin shortcode builder with live preview.
  • Dark and light card themes.
  • Server-side caching with WordPress transients.
  • LNC Chessboard admin menu with welcome page and roadmap.