函数文档

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.

Return

string Full site URL if found. Empty string if not.

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.