You've already forked wp-prometheus
fix: Defer DashboardProvider translations to avoid early textdomain loading (v0.4.8)
All checks were successful
Create Release Package / build-release (push) Successful in 54s
All checks were successful
Create Release Package / build-release (push) Successful in 54s
DashboardProvider constructor also had __() calls during plugins_loaded. Applied same lazy-initialization pattern as Settings tab labels. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -295,9 +295,10 @@ add_action( 'wp_prometheus_collect_metrics', function( $collector ) {
|
||||
- Fixed `_load_textdomain_just_in_time` warning on admin pages (WordPress 6.7+ compatibility)
|
||||
- Root cause: `load_plugin_textdomain()` was called during `plugins_loaded` in `Plugin::__construct()`
|
||||
- WordPress 6.7+ requires textdomain loading at the `init` action or later
|
||||
- Two changes made:
|
||||
- Three classes needed fixing:
|
||||
- `Plugin.php`: Deferred `load_textdomain()` to `init` action hook, changed method visibility to public
|
||||
- `Settings.php`: Deferred tab label initialization (which uses `__()`) to a lazy `get_tabs()` method
|
||||
- `DashboardProvider.php`: Deferred built-in dashboard definitions (with `__()` calls) to a lazy `get_builtin_dashboards()` method
|
||||
- Cleared Known Bugs section — no remaining known issues
|
||||
- **Key Learning**: WordPress 6.7 textdomain loading requirements
|
||||
- `load_plugin_textdomain()` must be called at `init` or later
|
||||
|
||||
Reference in New Issue
Block a user