wp_is_internal_link()
云策文档标注
概述
wp_is_internal_link() 函数用于判断指定 URL 的主机是否在内部主机列表中,返回布尔值表示是否为内部链接。
关键要点
- 函数接受一个字符串参数 $link,表示要测试的 URL。
- 返回 true 表示 URL 是内部的,false 表示是外部的。
- 函数内部先检查 URL 的协议是否在允许的协议列表中,然后比较主机是否在 wp_internal_hosts() 返回的列表中。
代码示例
function wp_is_internal_link( $link ) {
$link = strtolower( $link );
if ( in_array( wp_parse_url( $link, PHP_URL_SCHEME ), wp_allowed_protocols(), true ) ) {
return in_array( wp_parse_url( $link, PHP_URL_HOST ), wp_internal_hosts(), true );
}
return false;
}注意事项
- 函数在 WordPress 6.2.0 版本中引入。
- 相关函数包括 wp_internal_hosts()、wp_parse_url() 和 wp_allowed_protocols()。
- 被 _make_clickable_rel_attr()、wp_rel_callback() 和 get_comment_author_link() 等函数使用。
原文内容
Determines whether or not the specified URL is of a host included in the internal hosts list.
Description
See also
Parameters
$linkstringrequired-
The URL to test.
Source
function wp_is_internal_link( $link ) {
$link = strtolower( $link );
if ( in_array( wp_parse_url( $link, PHP_URL_SCHEME ), wp_allowed_protocols(), true ) ) {
return in_array( wp_parse_url( $link, PHP_URL_HOST ), wp_internal_hosts(), true );
}
return false;
}
Changelog
| Version | Description |
|---|---|
| 6.2.0 | Introduced. |