get_blogaddress_by_id()
云策文档标注
概述
get_blogaddress_by_id() 是一个 WordPress 函数,用于根据站点 ID 获取完整的站点 URL。它通过 get_site() 检索站点数据,并构建包含协议、域名和路径的 URL。
关键要点
- 函数接受一个必需的整数参数 $blog_id,表示站点 ID。
- 返回值为字符串:如果找到站点,返回完整的站点 URL;否则返回空字符串。
- 内部使用 get_site() 获取站点信息,并处理 URL 协议(默认为 http)。
- 使用 esc_url() 对生成的 URL 进行清理和转义,确保安全性。
代码示例
function get_blogaddress_by_id( $blog_id ) {
$bloginfo = get_site( (int) $blog_id );
if ( empty( $bloginfo ) ) {
return '';
}
$scheme = parse_url( $bloginfo->home, PHP_URL_SCHEME );
$scheme = empty( $scheme ) ? 'http' : $scheme;
return esc_url( $scheme . '://' . $bloginfo->domain . $bloginfo->path );
}注意事项
- 该函数在 WordPress MU 3.0.0 版本中引入,适用于多站点环境。
- 相关函数包括 get_site() 用于检索站点数据,esc_url() 用于 URL 清理。
- 被 wpmu_welcome_notification() 和 install_blog() 等函数使用,用于站点激活和安装场景。
原文内容
Gets a full site URL, given a site ID.
Parameters
$blog_idintrequired-
Site ID.
Source
function get_blogaddress_by_id( $blog_id ) {
$bloginfo = get_site( (int) $blog_id );
if ( empty( $bloginfo ) ) {
return '';
}
$scheme = parse_url( $bloginfo->home, PHP_URL_SCHEME );
$scheme = empty( $scheme ) ? 'http' : $scheme;
return esc_url( $scheme . '://' . $bloginfo->domain . $bloginfo->path );
}
Changelog
| Version | Description |
|---|---|
| MU (3.0.0) | Introduced. |