wp_redirect_admin_locations()
云策文档标注
概述
wp_redirect_admin_locations() 函数用于将简写URL重定向到WordPress管理后台或登录页面,例如将 /admin 重定向到 /wp-admin。
关键要点
- 函数在特定条件下触发:仅当页面为404错误且启用了固定链接时。
- 支持多种简写URL:包括 /admin、/dashboard、/login 等,分别重定向到 /wp-admin 或 /wp-login.php。
- 使用相关函数:如 wp_redirect()、admin_url()、wp_login_url() 等实现重定向逻辑。
代码示例
function wp_redirect_admin_locations() {
global $wp_rewrite;
if ( ! ( is_404() && $wp_rewrite->using_permalinks() ) ) {
return;
}
$admins = array(
home_url( 'wp-admin', 'relative' ),
home_url( 'dashboard', 'relative' ),
home_url( 'admin', 'relative' ),
site_url( 'dashboard', 'relative' ),
site_url( 'admin', 'relative' ),
);
if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $admins, true ) ) {
wp_redirect( admin_url() );
exit;
}
$logins = array(
home_url( 'wp-login.php', 'relative' ),
home_url( 'login.php', 'relative' ),
home_url( 'login', 'relative' ),
site_url( 'login', 'relative' ),
);
if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $logins, true ) ) {
wp_redirect( wp_login_url() );
exit;
}
}
原文内容
Redirects a variety of shorthand URLs to the admin.
Description
If a user visits example.com/admin, they’ll be redirected to /wp-admin.
Visiting /login redirects to /wp-login.php, and so on.
Source
function wp_redirect_admin_locations() {
global $wp_rewrite;
if ( ! ( is_404() && $wp_rewrite->using_permalinks() ) ) {
return;
}
$admins = array(
home_url( 'wp-admin', 'relative' ),
home_url( 'dashboard', 'relative' ),
home_url( 'admin', 'relative' ),
site_url( 'dashboard', 'relative' ),
site_url( 'admin', 'relative' ),
);
if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $admins, true ) ) {
wp_redirect( admin_url() );
exit;
}
$logins = array(
home_url( 'wp-login.php', 'relative' ),
home_url( 'login.php', 'relative' ),
home_url( 'login', 'relative' ),
site_url( 'login', 'relative' ),
);
if ( in_array( untrailingslashit( $_SERVER['REQUEST_URI'] ), $logins, true ) ) {
wp_redirect( wp_login_url() );
exit;
}
}
Changelog
| Version | Description |
|---|---|
| 3.4.0 | Introduced. |