'; echo '
'; echo '

404 Solution: A fatal error occurred while rendering the previous admin request.

'; echo '
Show error details'; echo '
' .
			esc_html($fatalMessage . "\n" . $fatalFile . ':' . (string)$fatalLine) .
			'
'; echo '
'; echo '
'; echo ''; } /** * Safe wrapper for the admin page callback. Falls back to the degraded * page if the View class was not loaded during boot. * * @return void */ function abj404_admin_page_callback() { abj404_render_last_admin_fatal_notice(); // The false parameter avoids triggering the autoloader. If View was not // loaded during boot, we don't want to attempt loading it again here. if (class_exists('ABJ_404_Solution_View', false)) { ob_start(); $renderError = null; try { ABJ_404_Solution_View::handleMainAdminPageActionAndDisplay(); } catch (\Throwable $e) { $renderError = $e; abj404_logRuntimeWarning('Admin page rendering failed', $e); } $output = ob_get_clean(); if ($renderError !== null) { echo '
'; echo '
'; echo '

404 Solution: An error occurred while rendering this page.

'; echo '
Show error details'; echo '
' . esc_html($renderError->getMessage() . "\n" . $renderError->getTraceAsString()) . '
'; echo '
'; echo '
'; echo '
'; } elseif ($output === '' || $output === false) { // The View class was loaded and didn't throw, but produced zero output. // Show a diagnostic instead of a blank page. echo '
'; echo '

404 Solution

'; echo '

'; echo 'This page produced no output. '; echo 'This can happen when a required dependency failed to initialize or a template file is missing.'; echo '

'; echo 'Try deactivating and reactivating the plugin. If the problem persists, '; echo 'delete the plugin and reinstall it from the WordPress plugin directory.'; echo '

'; } else { echo $output; } } else { abj404_degraded_admin_page(); } } }