{"id":11659,"date":"2026-07-23T04:06:02","date_gmt":"2026-07-22T20:06:02","guid":{"rendered":"https:\/\/aeosub.com\/soccr\/"},"modified":"2026-07-23T04:06:02","modified_gmt":"2026-07-22T20:06:02","slug":"soccr","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/soccr\/","title":{"rendered":"Soccr"},"content":{"rendered":"<div class=\"plugin-expert-review\" style=\"border: 1px solid #e2e8f0;border-left: 4px solid #4a3bca;border-radius: 10px;padding: 20px;margin-bottom: 25px;background: #fff;font-family: -apple-system, system-ui, sans-serif\">\n<div style=\"font-weight: bold;font-size: 1.1em;color: #4a3bca;margin-bottom: 10px\">LethaldiranMX Insight<\/div>\n<div style=\"color: #4a5568;font-size: 14px;line-height: 1.6\">\n<div>\n<p>Soccr offers a highly efficient, block-based solution for WordPress site owners looking to integrate real-time football data without the typical performance bloat of heavy iframe embeds or client-side JavaScript. By leveraging server-side rendering and a structured, multi-tiered caching strategy, it bridges the gap between dynamic sports data and optimal Core Web Vitals. This plugin is particularly valuable for sports bloggers, local fan clubs, and regional news portals that need reliable, automated German and European football statistics directly within the block editor. Its developer-friendly architecture, including custom filter hooks, ensures it can adapt to niche leagues beyond the default configurations.<\/p>\n<p><strong>Best Fit &amp; Operational Role:<\/strong> This plugin is an ideal fit for WordPress sites built on modern block themes that require lightweight sports integration. It solves the operational headache of manually updating league tables and match scores by pulling directly from OpenLigaDB. Because it renders entirely server-side and utilizes a built-in image proxy with caching for team crests, it fits seamlessly into high-traffic environments where frontend performance and page-load speeds are critical. It is best suited for publishers targeting German-centric competitions but can easily scale via filters for developers managing custom sports portals.<\/p>\n<p><strong>Potential Limitations &amp; Pitfalls:<\/strong> While the plugin is highly optimized, its reliance on a third-party API (OpenLigaDB) introduces an external dependency; any downtime or schema changes on their end will directly impact data rendering, though the built-in caching (up to 24 hours) mitigates immediate frontend breakage. Additionally, because it relies on server-side rendering, sites without object caching or page caching might experience minor TTFB (Time to First Byte) spikes when the cache expires and a block triggers a fresh API request. Finally, expanding beyond the default German leagues requires writing custom PHP filters, which might limit non-technical users who want to display niche international competitions out of the box.<\/p>\n<\/div>\n<\/div><\/div>\n<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<div style=\"padding: 20px;border-bottom: 1px solid #edf2f7;background: #fafafa;display: flex;align-items: flex-start\">\n                <img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/soccr.svg\" alt=\"Soccr icon\" loading=\"lazy\" style=\"width: 45px;height: 45px;border-radius: 8px;margin-right: 15px\"> <\/p>\n<div style=\"flex: 1;line-height: 1.2\">\n<div style=\"font-weight: bold;font-size: 1.1em;color: #1a202c\">Plugin Specification<\/div>\n<p>                    <small style=\"color: #718096\">WordPress.org Official Data<\/small>\n                <\/div>\n<\/p><\/div>\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\">Developer<\/th>\n<td style=\"padding: 12px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/rockschtar\/\" target=\"_blank\" rel=\"noopener\">rockschtar<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v2.0.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">10 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">7.0 \/ 7.0.2<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-07-22 7:59pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/soccr\/\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\">View Details -&gt;<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Display football match results, standings, and upcoming matches from OpenLigaDB as Gutenberg blocks.<\/div>\n<p><strong>Soccr<\/strong> integrates live football data from <a href=\"https:\/\/www.openligadb.de\" rel=\"nofollow ugc noopener\" target=\"_blank\">OpenLigaDB<\/a> into the WordPress block editor. The plugin provides three fully configurable Gutenberg blocks for displaying match results, league standings, and team-specific match information \u2014 all server-side rendered and cached for performance.<\/p>\n<h4>Blocks<\/h4>\n<p><strong>Tabelle (Standings)<\/strong><br \/>\nDisplays a full league table for a selected league and season. The table shows position, team name, matches played, wins, draws, losses, goals, goal difference, and points. The league and season can be selected directly in the block inspector.<\/p>\n<p><strong>Spieltag (Group Matches)<\/strong><br \/>\nDisplays all matches for a specific matchday. Automatically shows the current matchday by default. Includes optional pagination to browse through all matchdays of a season. Matches are grouped by date and show kickoff times for upcoming games and final scores for finished ones.<\/p>\n<p><strong>Team-Spiel (Team Match)<\/strong><br \/>\nDisplays a match for a specific team. Three display modes are available: current match (next upcoming or last finished), next match, or last match. Optionally shows team crests\/icons. The team can be selected from a list of all teams in the chosen league.<\/p>\n<h4>Supported Leagues<\/h4>\n<p>By default, the following leagues and competitions from OpenLigaDB are available:<\/p>\n<ul>\n<li>\n<ol>\n<li>Bundesliga (bl1)<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol>\n<li>Bundesliga (bl2)<\/li>\n<\/ol>\n<\/li>\n<li>\n<ol>\n<li>Liga (bl3)<\/li>\n<\/ol>\n<\/li>\n<li>Frauen-Bundesliga (fbl1)<\/li>\n<li>\n<ol>\n<li>Frauen-Bundesliga (fbl2)<\/li>\n<\/ol>\n<\/li>\n<li>UEFA Champions League (ucl)<\/li>\n<li>DFB-Pokal (dfb)<\/li>\n<\/ul>\n<p>Additional leagues can be added via the <code>soccr_league_shortcuts<\/code> filter. Use any shortcut available on OpenLigaDB:<\/p>\n<pre><code>add_filter('soccr_league_shortcuts', static function (array $shortcuts): array {\n    $shortcuts[] = 'uefaeuro2024'; \/\/ UEFA Euro 2024\n    $shortcuts[] = 'wm2022';       \/\/ FIFA World Cup 2022\n    return $shortcuts;\n});\n<\/code><\/pre>\n<h4>Features<\/h4>\n<ul>\n<li>Three ready-to-use Gutenberg blocks<\/li>\n<li>Server-side rendering \u2014 no JavaScript required on the frontend<\/li>\n<li>Configurable caching (1 hour for matches and standings, 12 hours for matchday data, 24 hours for teams and leagues)<\/li>\n<li>Alignment support (left, center, right, wide, full) for all blocks<\/li>\n<li>Optional custom block title for each block<\/li>\n<li>Team crest display with built-in image proxy and caching<\/li>\n<li>Pagination for matchday browsing<\/li>\n<\/ul>\n<h4>Data Attribution<\/h4>\n<p>All data is provided by <strong>OpenLigaDB<\/strong> under the <a href=\"https:\/\/opendatacommons.org\/licenses\/odbl\/\" rel=\"nofollow ugc noopener\" target=\"_blank\">Open Database License (ODbL) v1.0<\/a>. Each block automatically displays the required attribution notice.<\/p>\n<p>By using this plugin, your WordPress site will make requests to <code>https:\/\/api.openligadb.de<\/code>. No personal user data is transmitted to OpenLigaDB.<\/p>\n<h4>For Developers<\/h4>\n<p>Available filters:<\/p>\n<ul>\n<li><code>soccr_league_shortcuts<\/code> \u2014 Customize which leagues are available in the block inspector (default: <code>['bl1', 'bl2', 'bl3', 'fbl1', 'fbl2', 'ucl', 'dfb']<\/code>)<\/li>\n<li><code>soccr_team_match_html<\/code> \u2014 Modify the Team Match block HTML output<\/li>\n<li><code>soccr_group_matches_html<\/code> \u2014 Modify the Group Matches block HTML output<\/li>\n<li><code>soccr_group_matches_headline<\/code> \u2014 Modify the Group Matches headline text<\/li>\n<\/ul>\n<p>Available actions:<\/p>\n<ul>\n<li><code>soccr_exception<\/code> \u2014 Triggered on API or rendering errors; use for custom error logging<\/li>\n<\/ul>\n<div class=\"plugin-editorial-note\" style=\"margin-top: 25px;padding: 12px 15px;background: #f8fafc;border-radius: 6px;color: #64748b;font-size: 13px;line-height: 1.5\">Editorial note: This overview combines WordPress.org official plugin metadata with an AI-assisted LethaldiranMX editorial review. Plugin data should be verified on the official WordPress.org listing before installation.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Display football match results, standings, and upcoming matches from OpenLigaDB as Gutenberg blocks.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[2900,2901,641,2902,2903,555],"class_list":["post-11659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-bundesliga","tag-football","tag-gutenberg","tag-openligadb","tag-soccer","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=11659"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11659\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=11659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=11659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=11659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}