fix: Use parse_request hook for /admin + Dashboard menu now active on Overview (root path)
This commit is contained in:
@@ -86,7 +86,9 @@ function ActiveNavLink({ to, startsWith, children, className, end }: any) {
|
|||||||
to={to}
|
to={to}
|
||||||
end={end}
|
end={end}
|
||||||
className={(nav) => {
|
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;
|
const mergedActive = nav.isActive || activeByPath;
|
||||||
if (typeof className === 'function') {
|
if (typeof className === 'function') {
|
||||||
// Preserve caller pattern: className receives { isActive }
|
// Preserve caller pattern: className receives { isActive }
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ class StandaloneAdmin {
|
|||||||
* Initialize standalone admin handler
|
* Initialize standalone admin handler
|
||||||
*/
|
*/
|
||||||
public static function init() {
|
public static function init() {
|
||||||
// Catch /admin requests early
|
// Catch /admin requests very early (before WordPress routing)
|
||||||
add_action( 'template_redirect', [ __CLASS__, 'handle_admin_request' ], 1 );
|
add_action( 'parse_request', [ __CLASS__, 'handle_admin_request' ], 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user