get_blogaddress_by_name()
云策文档标注
概述
get_blogaddress_by_name() 函数用于根据站点名称获取完整的站点 URL,支持子域名和目录安装配置。
关键要点
- 参数 $blogname 为必需,指定子域名或目录的名称。
- 返回值类型为字符串,返回经过 esc_url() 清理的完整 URL。
- 函数内部根据 is_subdomain_install() 判断安装类型,动态构建 URL。
- 相关函数包括 network_home_url()、is_subdomain_install() 和 esc_url()。
代码示例
function get_blogaddress_by_name( $blogname ) {
if ( is_subdomain_install() ) {
if ( 'main' === $blogname ) {
$blogname = 'www';
}
$url = rtrim( network_home_url(), '/' );
if ( ! empty( $blogname ) ) {
$url = preg_replace( '|^([^.]+://)|', '${1}' . $blogname . '.', $url );
}
} else {
$url = network_home_url( $blogname );
}
return esc_url( $url . '/' );
}注意事项
- 在子域名安装中,若 $blogname 为 'main',会自动替换为 'www'。
- 函数返回的 URL 已通过 esc_url() 进行安全清理,确保输出安全。
- 此函数自 WordPress MU 3.0.0 版本引入。
原文内容
Gets a full site URL, given a site name.
Parameters
$blognamestringrequired-
Name of the subdomain or directory.
Source
function get_blogaddress_by_name( $blogname ) {
if ( is_subdomain_install() ) {
if ( 'main' === $blogname ) {
$blogname = 'www';
}
$url = rtrim( network_home_url(), '/' );
if ( ! empty( $blogname ) ) {
$url = preg_replace( '|^([^.]+://)|', '${1}' . $blogname . '.', $url );
}
} else {
$url = network_home_url( $blogname );
}
return esc_url( $url . '/' );
}
Changelog
| Version | Description |
|---|---|
| MU (3.0.0) | Introduced. |