{"id":318470,"date":"2026-05-29T06:20:48","date_gmt":"2026-05-29T06:20:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/chesspairings-tournament-showcase\/"},"modified":"2026-05-29T06:27:03","modified_gmt":"2026-05-29T06:27:03","slug":"chesspairings","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/chesspairings\/","author":23506231,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.1","stable_tag":"0.1.1","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"ChessPairings \u2014 Tournament Showcase","header_author":"Stefano Loberti","header_description":"Mostra i tuoi tornei di scacchi gestiti su my.chesspairings.org direttamente sul tuo sito WordPress. Classifiche, abbinamenti, iscritti, calendario e link di iscrizione, in HTML nativo che eredita lo stile del tuo tema.","assets_banners_color":"152545","last_updated":"2026-05-29 06:27:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpchess.com","header_author_uri":"https:\/\/chesspairings.org","rating":0,"author_block_rating":0,"active_installs":0,"downloads":92,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.1":{"tag":"0.1.1","author":"stefanoloberti","date":"2026-05-29 06:27:03"}},"upgrade_notice":{"0.1.1":"<p>Review fixes: enqueued scripts, text domain, external services documentation.<\/p>","0.1.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3553015,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3553015,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"chesspairings\/tournament":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"chesspairings\/tournament","title":"ChessPairings Tournament","category":"embed","icon":"awards","description":"Mostra un torneo o un calendario tornei gestito su my.chesspairings.org.","keywords":["chess","scacchi","tournament","torneo","chesspairings"],"version":"0.1.0","textdomain":"chesspairings","attributes":{"view":{"type":"string","default":"torneo","enum":["torneo","classifica","abbinamenti","iscritti","bando","iscriviti","calendario"]},"torneoId":{"type":"number","default":0},"turno":{"type":"string","default":"ultimo"},"tipo":{"type":"string","default":"individuale","enum":["individuale","squadre"]},"tipoCalendario":{"type":"string","default":"miei","enum":["miei","community"]}},"supports":{"html":false,"align":["wide","full"]},"editorScript":"file:.\/edit.js","example":{"attributes":{"view":"classifica","torneoId":0}}}},"tagged_versions":["0.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3553015,"resolution":"1","location":"assets","locale":"","width":880,"height":660},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3553015,"resolution":"2","location":"assets","locale":"","width":880,"height":660},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3553015,"resolution":"3","location":"assets","locale":"","width":1002,"height":845},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3553015,"resolution":"4","location":"assets","locale":"","width":880,"height":660},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3553015,"resolution":"5","location":"assets","locale":"","width":880,"height":660}},"screenshots":{"1":"Settings page with connection verification","2":"Standings example with tiebreaks","3":"Pairings example for a round","4":"Full tournament page with tabs","5":"Community calendar"}},"plugin_section":[],"plugin_tags":[17259,14241,264880,30579,14116],"plugin_category":[],"plugin_contributors":[264881],"plugin_business_model":[],"class_list":["post-318470","plugin","type-plugin","status-publish","hentry","plugin_tags-chess","plugin_tags-club","plugin_tags-pairings","plugin_tags-standings","plugin_tags-tournament","plugin_contributors-stefanoloberti","plugin_committers-stefanoloberti"],"banners":{"banner":"https:\/\/ps.w.org\/chesspairings\/assets\/banner-772x250.png?rev=3553015","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/chesspairings\/assets\/icon-256x256.png?rev=3553015","icon_2x":"https:\/\/ps.w.org\/chesspairings\/assets\/icon-256x256.png?rev=3553015","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/chesspairings\/assets\/screenshot-1.png?rev=3553015","caption":"Settings page with connection verification"},{"src":"https:\/\/ps.w.org\/chesspairings\/assets\/screenshot-2.png?rev=3553015","caption":"Standings example with tiebreaks"},{"src":"https:\/\/ps.w.org\/chesspairings\/assets\/screenshot-3.png?rev=3553015","caption":"Pairings example for a round"},{"src":"https:\/\/ps.w.org\/chesspairings\/assets\/screenshot-4.png?rev=3553015","caption":"Full tournament page with tabs"},{"src":"https:\/\/ps.w.org\/chesspairings\/assets\/screenshot-5.png?rev=3553015","caption":"Community calendar"}],"raw_content":"<!--section=description-->\n<p>ChessPairings \u2014 Tournament Showcase is a \"showcase\" plugin that integrates tournaments managed on the SaaS platform <a href=\"https:\/\/my.chesspairings.org\/\">my.chesspairings.org<\/a> into your WordPress site.<\/p>\n\n<p>The plugin <strong>does not manage<\/strong> tournaments inside WordPress: pairing generation, result entry, player management, Telegram notifications, auto-publishing to chess-results.com and everything else stays on my.chesspairings.org. The plugin simply <strong>displays<\/strong> your tournament data on your WP site, using native HTML that inherits your theme's styles.<\/p>\n\n<p><strong>What you can do with the plugin:<\/strong><\/p>\n\n<ul>\n<li>Show standings with tiebreaks<\/li>\n<li>Show pairings by round<\/li>\n<li>Show the registered players list (or teams + roster for team tournaments)<\/li>\n<li>Show the tournament announcement \/ regulations<\/li>\n<li>Add a \"Register\" button linking to the online registration form<\/li>\n<li>Publish a calendar of your tournaments or the community calendar (by federation)<\/li>\n<li>List all your tournaments with cards \u2014 status, dates, registration button<\/li>\n<li>Display a full tournament page with tabs (info \/ registered \/ pairings \/ standings)<\/li>\n<\/ul>\n\n<p><strong>Advantages over an iframe or a screenshot:<\/strong><\/p>\n\n<ul>\n<li>Native HTML that inherits the theme's styles (fonts, colors, spacing)<\/li>\n<li>SEO-friendly (indexable content, not in an iframe)<\/li>\n<li>Mobile responsive by default<\/li>\n<li>Automatic caching to avoid overloading the API (configurable 30\u2013300s)<\/li>\n<\/ul>\n\n<p><strong>ChessPairings account:<\/strong> the plugin requires a free account on <a href=\"https:\/\/my.chesspairings.org\/\">my.chesspairings.org<\/a> and a free API key generated from your profile. The SaaS platform is completely free.<\/p>\n\n<p><strong>Languages:<\/strong> the plugin is translated in 7 languages: English, Italian, Spanish, French, German, Russian, Czech.<\/p>\n\n<p><strong>Useful links:<\/strong> <a href=\"https:\/\/chesspairings.org\/\">ChessPairings homepage<\/a> \u00b7 <a href=\"https:\/\/wpchess.com\/\">Plugin website<\/a> \u00b7 <a href=\"https:\/\/my.chesspairings.org\/\">Create a free account<\/a><\/p>\n\n<h3>Available Shortcodes<\/h3>\n\n<p><strong>Individual tournaments:<\/strong><\/p>\n\n<ul>\n<li><code>[chesspairings_torneo id=\"N\"]<\/code> \u2014 full tournament page with tabs<\/li>\n<li><code>[chesspairings_classifica id=\"N\"]<\/code> \u2014 standings only<\/li>\n<li><code>[chesspairings_abbinamenti id=\"N\" turno=\"ultimo\"]<\/code> \u2014 pairings for a round<\/li>\n<li><code>[chesspairings_iscritti id=\"N\"]<\/code> \u2014 registered players list<\/li>\n<li><code>[chesspairings_bando id=\"N\"]<\/code> \u2014 tournament announcement<\/li>\n<li><code>[chesspairings_iscriviti id=\"N\"]<\/code> \u2014 registration button<\/li>\n<li><code>[chesspairings_tornei]<\/code> \u2014 tournament listing with cards (status, dates, registration)<\/li>\n<li><code>[chesspairings_calendario tipo=\"miei\"]<\/code> \u2014 tournament calendar (miei | community)<\/li>\n<\/ul>\n\n<p><strong>Team tournaments:<\/strong><\/p>\n\n<ul>\n<li><code>[chesspairings_torneo_squadre id=\"N\"]<\/code> \u2014 full team tournament page<\/li>\n<li><code>[chesspairings_classifica_squadre id=\"N\"]<\/code> \u2014 team standings<\/li>\n<li><code>[chesspairings_abbinamenti_squadre id=\"N\" turno=\"ultimo\"]<\/code> \u2014 team pairings<\/li>\n<li><code>[chesspairings_squadre id=\"N\"]<\/code> \u2014 teams + roster<\/li>\n<\/ul>\n\n<p>All shortcodes are also available as the Gutenberg block \"<strong>ChessPairings Tournament<\/strong>\".<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>ChessPairings<\/strong> API (<code>my.chesspairings.org\/api\/v1<\/code>) to retrieve tournament data (standings, pairings, registered players, calendar). All API calls are made server-side from your WordPress installation \u2014 no data is sent from your visitors' browsers.<\/p>\n\n<p><strong>When data is sent:<\/strong> every time a page containing a ChessPairings shortcode or block is loaded (subject to local caching, configurable 30\u2013300 seconds).<\/p>\n\n<p><strong>What data is sent:<\/strong> your API key (via <code>Authorization<\/code> header), the requested tournament ID, and the WordPress site URL (via <code>User-Agent<\/code> header).<\/p>\n\n<p><strong>No visitor personal data<\/strong> (IP address, cookies, browser info) is transmitted to the service.<\/p>\n\n<p>This service is provided by Stefano Loberti (chesspairings.org):<\/p>\n\n<ul>\n<li><a href=\"https:\/\/my.chesspairings.org\/tos\/terms.php\">Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/my.chesspairings.org\/tos\/privacy.php\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>chesspairings<\/code> folder to <code>wp-content\/plugins\/<\/code> (or install the zip from the WordPress admin panel).<\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Settings \u2192 ChessPairings<\/strong>.<\/li>\n<li>Generate an API key from your my.chesspairings.org profile (<strong>API<\/strong> tab \u2192 <strong>Generate token<\/strong>).<\/li>\n<li>Paste the token in the settings page and click <strong>Verify connection<\/strong>.<\/li>\n<li><p>Add a shortcode to any page or post:<\/p>\n\n<p>[chesspairings_torneo id=\"123\"]<\/p><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20chesspairings%20account%3F\"><h3>Do I need a ChessPairings account?<\/h3><\/dt>\n<dd><p>Yes, it's free. Register on <a href=\"https:\/\/my.chesspairings.org\/\">my.chesspairings.org<\/a>, create your tournaments there, then install the plugin to display them on your WP site.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20look%20of%20the%20tables%3F\"><h3>Can I customize the look of the tables?<\/h3><\/dt>\n<dd><p>Yes, in two ways:\n1. The plugin uses CSS variables that auto-adapt to the theme. You can override them with custom CSS.\n2. Every template is override-able from the theme: copy a file from <code>chesspairings\/templates\/<\/code> to <code>your-theme\/chesspairings\/<\/code> and modify it.<\/p><\/dd>\n<dt id=\"how%20heavy%20is%20the%20api%20load%20per%20page%20view%3F\"><h3>How heavy is the API load per page view?<\/h3><\/dt>\n<dd><p>Responses are cached for 60s by default (configurable 30\u2013300s). So even with 100 visits per minute, the API receives ~1 call per minute per shortcode.<\/p><\/dd>\n<dt id=\"can%20i%20show%20private%20tournaments%3F\"><h3>Can I show private tournaments?<\/h3><\/dt>\n<dd><p>Yes, as long as the tournament belongs to the API key owner. Visibility (public\/private) only controls whether it appears in the community calendar.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20my.chesspairings.org%20is%20temporarily%20unreachable%3F\"><h3>What happens if my.chesspairings.org is temporarily unreachable?<\/h3><\/dt>\n<dd><p>The plugin shows an inline error message in the shortcode area. The rest of your WP site is unaffected.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20data%20to%20my%20visitors%3F\"><h3>Does the plugin send data to my visitors?<\/h3><\/dt>\n<dd><p>No. The plugin calls the API server-side from WordPress \u2014 no client-side JS fetch. No cookies, no trackers.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed: inline scripts now properly enqueued via wp_enqueue_script.<\/li>\n<li>Fixed: text domain aligned to plugin slug.<\/li>\n<li>Added: external services section with Terms of Service and Privacy Policy links.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: 12 shortcodes + Gutenberg block + overridable templates + 7 languages.<\/li>\n<\/ul>","raw_excerpt":"Display chess tournaments managed on my.chesspairings.org directly on your WordPress site: standings, pairings, registered players, calendar.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/318470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=318470"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stefanoloberti"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=318470"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=318470"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=318470"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=318470"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=318470"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=318470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}