函数文档

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.

Return

string

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.