Roadmap items 20, 21 (P3). Grouped: both are plugin.php header/bootstrap metadata.
Roadmap item 20 — Declared PHP floor is wrong
The code uses union types (array|string), so the true minimum is PHP 8.0. Meanwhile:
CONTRIBUTING says 7.4+
- phpcs is configured with
minimum_supported_wp_version 4.9
plugin.php declares no Requires PHP: or Requires at least: headers at all
A 7.4 install will fatal on parse rather than being cleanly blocked by WordPress.
Fix: add Requires PHP: 8.0 and a realistic Requires at least: to the plugin header, bump the phpcs minimum_supported_wp_version to match, and correct CONTRIBUTING.
📍 src/Components/News_Block_Controller.php:27, plugin.php
Roadmap item 21 — Text domain ucsc is never loaded
There is no Text Domain: / Domain Path: header and no load_plugin_textdomain() call, so every __() / _e() / esc_html__() in the plugin is untranslatable — the calls are inert pass-throughs.
Fix: add the headers and load the text domain on init (or rely on WP 6.7+ just-in-time loading, which still requires the header). Ship a languages/ directory with a POT file if translations are actually wanted.
📍 plugin.php
Acceptance
Related: existing issue #27 also proposes adding an Update URI: header — worth landing in the same header pass.
Roadmap items 20, 21 (P3). Grouped: both are
plugin.phpheader/bootstrap metadata.Roadmap item 20 — Declared PHP floor is wrong
The code uses union types (
array|string), so the true minimum is PHP 8.0. Meanwhile:CONTRIBUTINGsays 7.4+minimum_supported_wp_version4.9plugin.phpdeclares noRequires PHP:orRequires at least:headers at allA 7.4 install will fatal on parse rather than being cleanly blocked by WordPress.
Fix: add
Requires PHP: 8.0and a realisticRequires at least:to the plugin header, bump the phpcsminimum_supported_wp_versionto match, and correct CONTRIBUTING.📍 src/Components/News_Block_Controller.php:27, plugin.php
Roadmap item 21 — Text domain
ucscis never loadedThere is no
Text Domain:/Domain Path:header and noload_plugin_textdomain()call, so every__()/_e()/esc_html__()in the plugin is untranslatable — the calls are inert pass-throughs.Fix: add the headers and load the text domain on
init(or rely on WP 6.7+ just-in-time loading, which still requires the header). Ship alanguages/directory with a POT file if translations are actually wanted.📍 plugin.php
Acceptance
Requires PHP,Requires at least,Text Domain,Domain Pathpresent in the plugin headerminimum_supported_wp_versionand CONTRIBUTING agree with the headerRelated: existing issue #27 also proposes adding an
Update URI:header — worth landing in the same header pass.