函数文档

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.

Return

bool Returns true for internal URLs and false for all other URLs.

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.