fix: Use parse_request hook for /admin + Dashboard menu now active on Overview (root path)

This commit is contained in:
dwindown
2025-11-04 22:43:20 +07:00
parent 4f75a5b501
commit 4e1eb22c8f
2 changed files with 5 additions and 3 deletions

View File

@@ -86,7 +86,9 @@ function ActiveNavLink({ to, startsWith, children, className, end }: any) {
to={to}
end={end}
className={(nav) => {
const activeByPath = starts ? location.pathname.startsWith(starts) : false;
// Special case: Dashboard should also match root path "/"
const isDashboard = starts === '/dashboard' && location.pathname === '/';
const activeByPath = starts ? (location.pathname.startsWith(starts) || isDashboard) : false;
const mergedActive = nav.isActive || activeByPath;
if (typeof className === 'function') {
// Preserve caller pattern: className receives { isActive }

View File

@@ -15,8 +15,8 @@ class StandaloneAdmin {
* Initialize standalone admin handler
*/
public static function init() {
// Catch /admin requests early
add_action( 'template_redirect', [ __CLASS__, 'handle_admin_request' ], 1 );
// Catch /admin requests very early (before WordPress routing)
add_action( 'parse_request', [ __CLASS__, 'handle_admin_request' ], 1 );
}
/**