Paramètres

$path

(string) (Optionnel) Chemin relatif à l'url du site.

Valeur par défaut : ''

$scheme

(string) (Optionnel) Schema à donner pour le context de l'url du site.

Valeur par défaut : ''

Retourne

L'url du site avec un chemin optionnel.

Structure de la fonction network_site_url()

Définie dans le fichier wp-includes/link-template.php

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 );
}

Fonctions et Hook utilisés par network_site_url()

get_network()

Récupère les données d'un réseau en donnant l'id du réseau ou son objet.

is_multisite()

Vérifie si le multisite est autorisé.

set_url_scheme()

Règle le schema pour une url.

network_site_url

Filtre l'url du site d'un réseau.

site_url()

Récupère l'url pour le site actuel où les fihciers d'application Wordpress sont accessibles (ex : wp-blog-header.php ou the wp-admin/ folder).

Où trouver la fonction network_site_url() dans le CMS Wordpress

/wp-signup.php

Ligne 38

if ( ! is_main_site() ) {
    wp_redirect( network_site_url( 'wp-signup.php' ) );
    die();
}

Ligne 932

    $login_url = wp_login_url( network_site_url( 'wp-signup.php' ) );

/wp-activate.php

Ligne 127

        <form name="activateform" id="activateform" method="post" action="<?php echo network_site_url( 'wp-activate.php' ); ?>">

Ligne 149

                    network_site_url( 'wp-login.php', 'login' ),
                    $signup->user_login,

Ligne 199

                    printf( __( 'Your account is now activated. <a href="%1$s">Log in</a> or go back to the <a href="%2$s">homepage</a>.' ), network_site_url( 'wp-login.php', 'login' ), network_home_url() );

/wp-login.php

Ligne 396

    $message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . ">rn";

Ligne 613

    <form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">

Ligne 710

    <form name="resetpassform" id="resetpassform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>" method="post" autocomplete="off">

Ligne 785

             * @param string $sign_up_url The sign up URL.
             */
            wp_redirect( apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) ) );
            exit;

wp-admin/my-sites.php

Ligne 71

if ( in_array( get_site_option( 'registration' ), array( 'all', 'blog' ) ) ) {
    /** This filter is documented in wp-login.php */
    $sign_up_url = apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) );
    printf( ' <a href="%s" class="page-title-action">%s</a>', esc_url( $sign_up_url ), esc_html_x( 'Add New', 'site' ) );
}

wp-includes/pluggable.php

Ligne 1990

        $message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), 'login' ) . ">rnrn";

wp-includes/link-template.php

Ligne 3459

    $url = network_site_url( 'wp-admin/network/', $scheme );

Ligne 3488

function user_admin_url( $path = '', $scheme = 'admin' ) {
    $url = network_site_url( 'wp-admin/user/', $scheme );

wp-includes/general-template.php

Ligne 566

    $lostpassword_url = add_query_arg( $args, network_site_url( 'wp-login.php', 'login' ) );

wp-includes/update.php

Ligne 81

        $wp_install        = network_site_url();

wp-includes/canonical.php

Ligne 367

            if ( is_multisite() ) {
                /** This filter is documented in wp-login.php */
                $redirect_url = apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) );

wp-includes/ms-functions.php

Ligne 909

    // Send email with activation link.
    if ( ! is_subdomain_install() || get_current_network_id() != 1 ) {
        $activate_url = network_site_url( "wp-activate.php?key=$key" );

Exemples

exemple basic :
$url = network_site_url();
Avec une spécification https :
$url = network_site_url('/contact-us/', 'https');

Sources

Source Wordpress : network_site_url()

Autres fonctions dans le même fichier : wp-includes/link-template.php