redirect_canonical
云策文档标注
概述
redirect_canonical 是一个 WordPress 过滤器,用于修改或取消规范重定向的 URL。通过此过滤器,开发者可以控制是否重定向到规范 URL,例如在特定条件下阻止重定向。
关键要点
- 过滤器名称:redirect_canonical,用于过滤规范重定向的 URL。
- 参数:$redirect_url(重定向 URL)和 $requested_url(请求的 URL)。
- 返回 false 可以取消重定向,例如在首页时阻止重定向。
- 相关函数:redirect_canonical(),位于 wp-includes/canonical.php,用于基于站点 URL 重定向传入链接。
- 引入版本:WordPress 2.3.0。
代码示例
function wpdocs_disable_frontpage_canonical_redirect( $redirect ) {
if ( is_front_page() ) {
$redirect = false;
}
return $redirect;
}
add_filter( 'redirect_canonical', 'wpdocs_disable_frontpage_canonical_redirect' );注意事项
使用此过滤器时,确保正确处理参数和返回值,以避免意外重定向行为。例如,示例代码展示了如何在首页时取消重定向。
原文内容
Filters the canonical redirect URL.
Description
Returning false to this filter will cancel the redirect.
Parameters
$redirect_urlstring-
The redirect URL.
$requested_urlstring-
The requested URL.
Source
$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
Changelog
| Version | Description |
|---|---|
| 2.3.0 | Introduced. |
Skip to note 2 content
Darren Cooney
Prevent URLs from being encoded on the frontpage.
function wpdocs_disable_frontpage_canonical_redirect( $redirect ) { if ( is_front_page() ) { $redirect = false; } return $redirect; } add_filter( 'redirect_canonical', 'wpdocs_disable_frontpage_canonical_redirect' );