network_site_url

The timeline below displays how wordpress function network_site_url has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.7

/**
 * Retrieves the site URL for the current network.
 *
 * Returns the site URL with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @see set_url_scheme()
 *
 * @param string      $path   Optional. Path relative to the site URL. Default empty.
 * @param string|null $scheme Optional. Scheme to give the site URL context. Accepts
 *                            'http', 'https', or 'relative'. Default null.
 * @return string Site URL link with optional path appended.
 */
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_network = get_network();
    if ('relative' === $scheme) {
        $url = $current_network->path;
    } else {
        $url = set_url_scheme('http://' . $current_network->domain . $current_network->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 5.5

/**
 * Retrieves the site URL for the current network.
 *
 * Returns the site URL with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @see set_url_scheme()
 *
 * @param string $path   Optional. Path relative to the site URL. Default empty.
 * @param string $scheme Optional. Scheme to give the site URL context. Accepts
 *                       'http', 'https', or 'relative'. Default null.
 * @return string Site URL link with optional path appended.
 */
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_network = get_network();
    if ('relative' === $scheme) {
        $url = $current_network->path;
    } else {
        $url = set_url_scheme('http://' . $current_network->domain . $current_network->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 4.7

/**
 * Retrieves the site URL for the current network.
 *
 * Returns the site URL with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @see set_url_scheme()
 *
 * @param string $path   Optional. Path relative to the site URL. Default empty.
 * @param string $scheme Optional. Scheme to give the site URL context. Accepts
 *                       'http', 'https', or 'relative'. Default null.
 * @return string Site URL link with optional path appended.
 */
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_network = get_network();
    if ('relative' == $scheme) {
        $url = $current_network->path;
    } else {
        $url = set_url_scheme('http://' . $current_network->domain . $current_network->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 4.6

/**
 * Retrieves the site URL for the current network.
 *
 * Returns the site URL with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @see set_url_scheme()
 *
 * @param string $path   Optional. Path relative to the site URL. Default empty.
 * @param string $scheme Optional. Scheme to give the site URL context. Accepts
 *                       'http', 'https', or 'relative'. Default null.
 * @return string Site URL link with optional path appended.
 */
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_site = get_current_site();
    if ('relative' == $scheme) {
        $url = $current_site->path;
    } else {
        $url = set_url_scheme('http://' . $current_site->domain . $current_site->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filters the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 4.5

/**
 * Retrieve the site url for the current network.
 *
 * Returns the site url with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @param string $path   Optional. Path relative to the site url.
 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
 * @return string Site url link with optional path appended.
 */
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_site = get_current_site();
    if ('relative' == $scheme) {
        $url = $current_site->path;
    } else {
        $url = set_url_scheme('http://' . $current_site->domain . $current_site->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filter the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 4.3

/**
 * Retrieve the site url for the current network.
 *
 * Returns the site url with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @param string $path   Optional. Path relative to the site url.
 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
 * @return string Site url link with optional path appended.
*/
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_site = get_current_site();
    if ('relative' == $scheme) {
        $url = $current_site->path;
    } else {
        $url = set_url_scheme('http://' . $current_site->domain . $current_site->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filter the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 3.9

/**
 * Retrieve the site url for the current network.
 *
 * Returns the site url with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @since 3.0.0
 *
 * @param string $path Optional. Path relative to the site url.
 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
 * @return string Site url link with optional path appended.
*/
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_site = get_current_site();
    if ('relative' == $scheme) {
        $url = $current_site->path;
    } else {
        $url = set_url_scheme('http://' . $current_site->domain . $current_site->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    /**
     * Filter the network site URL.
     *
     * @since 3.0.0
     *
     * @param string      $url    The complete network site URL including scheme and path.
     * @param string      $path   Path relative to the network site URL. Blank string if
     *                            no path is specified.
     * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
     *                            'relative' or null.
     */
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 3.8

/**
 * Retrieve the site url for the current network.
 *
 * Returns the site url with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @package WordPress
 * @since 3.0.0
 *
 * @param string $path Optional. Path relative to the site url.
 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
 * @return string Site url link with optional path appended.
*/
function network_site_url($path = '', $scheme = null)
{
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    $current_site = get_current_site();
    if ('relative' == $scheme) {
        $url = $current_site->path;
    } else {
        $url = set_url_scheme('http://' . $current_site->domain . $current_site->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    return apply_filters('network_site_url', $url, $path, $scheme);
}

WordPress Version: 3.7

/**
 * Retrieve the site url for the current network.
 *
 * Returns the site url with the appropriate protocol, 'https' if
 * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
 * overridden.
 *
 * @package WordPress
 * @since 3.0.0
 *
 * @param string $path Optional. Path relative to the site url.
 * @param string $scheme Optional. Scheme to give the site url context. See set_url_scheme().
 * @return string Site url link with optional path appended.
*/
function network_site_url($path = '', $scheme = null)
{
    global $current_site;
    if (!is_multisite()) {
        return site_url($path, $scheme);
    }
    if ('relative' == $scheme) {
        $url = $current_site->path;
    } else {
        $url = set_url_scheme('http://' . $current_site->domain . $current_site->path, $scheme);
    }
    if ($path && is_string($path)) {
        $url .= ltrim($path, '/');
    }
    return apply_filters('network_site_url', $url, $path, $scheme);
}