wppaste
WordPress

get_site_url( int|null $blog_id = null, string $path = '', string|null $scheme = null ): string

Since
3.0.0
Source
wp-includes/link-template.php:3534
Retrieves the URL for a given site where WordPress application files (e.g. wp-blog-header.php or the wp-admin/ folder) are accessible.

Description

Returns the 'site_url' option with the appropriate protocol, 'https' if is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is overridden.

Parameters

$blog_idint|nulloptional
Site ID. Default null (current site).Default: null
$pathstringoptional
Path relative to the site URL. Default empty.Default: ''
$schemestring|nulloptional
Scheme to give the site URL context. Accepts 'http', 'https', 'login', 'login_post', 'admin', or 'relative'. Default null.Default: null

Return

string
Site URL link with optional path appended.

Hooks fired · 1

One hook fires while get_site_url() runs, in this order:

  1. apply_filters( site_url )filterline 3560 (+26 into the body)

    Filters the site URL.

Uses · 6

Used by · 3

  • get_admin_url()Retrieves the URL to the admin area for a given site.
  • site_url()Retrieves the URL for the current site where WordPress application files (e.g. wp-blog-header.php or the wp-admin/ folder) are accessible.
  • wpmu_new_site_admin_notification()Notifies the Multisite network administrator that a new site was created.

Source

function get_site_url( $blog_id = null, $path = '', $scheme = null ) {	if ( empty( $blog_id ) || ! is_multisite() ) {		$url = get_option( 'siteurl' );	} else {		switch_to_blog( $blog_id );		$url = get_option( 'siteurl' );		restore_current_blog();	} 	$url = set_url_scheme( $url, $scheme ); 	if ( $path && is_string( $path ) ) {		$url .= '/' . ltrim( $path, '/' );	} 	/**	 * Filters the site URL.	 *	 * @since 2.7.0	 *	 * @param string      $url     The complete site URL including scheme and path.	 * @param string      $path    Path relative to the site URL. Blank string if no path is specified.	 * @param string|null $scheme  Scheme to give the site URL context. Accepts 'http', 'https', 'login',	 *                             'login_post', 'admin', 'relative' or null.	 * @param int|null    $blog_id Site ID, or null for the current site.	 */	return apply_filters( 'site_url', $url, $path, $scheme, $blog_id );}

History

Introduced in 3.0.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-includes/link-template.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.