fix(user): enable pretty /user and /profile when permalinks empty

This commit is contained in:
kate522 committed 2026-07-25 15:56:11 +08:00
1 parent 06d4844c8e
commit 6abcdf65e0
2 files changed
+40 -4

No files matched your search

+10 -1
View File
@@ -134,13 +134,22 @@ function aksrt_get_user_home_url($user = null): string {
} elseif (is_int($user) && $user > 0) {
$u = get_userdata($user);
$slug = $u ? $u->user_nicename : '';
} elseif (is_numeric($user) && (int) $user > 0) {
$u = get_userdata((int) $user);
$slug = $u ? $u->user_nicename : '';
} elseif (is_string($user) && $user) {
$slug = $user;
} else {
$current = wp_get_current_user();
$slug = $current->ID ? $current->user_nicename : '';
}
if (!$slug) return home_url('/');
if (!$slug) {
return home_url('/');
}
// Plain permalinks: Apache 404s pretty /user/{slug}/ before WP boots.
if (!get_option('permalink_structure')) {
return add_query_arg('user_nicename', rawurlencode($slug), home_url('/'));
}
return home_url('/user/' . trailingslashit($slug));
}
endif;