get_site_url()
Gets the site URL.
The function returns the option siteurl: get_option('siteurl'). It also sets the site protocol: https - if is_ssl() is triggered or http. You can forcefully specify the protocol in the $scheme parameter.
By specifying the blog address, we can move all WordPress files to a separate directory. This is done for convenience when WordPress files in the main directory interfere with the user and they would like to move them to a subdirectory of the main directory. Read how to do this here: https://codex.wordpress.org/Размещаем_WordPress_в_отдельном_каталоге
The constant WP_SITEURL - in wp-config.php you can specify the constant WP_SITEURL, then its value will be taken for this option, not the value from the database.
Use this function when you need to get the WordPress URL, not the site URL (see General Settings).
Use home_url() when you need to get the site URL (front).
Hooks from the function
Returns
String.
Usage
$site_url = get_site_url( $blog_id, $path, $scheme );
- $blog_id(number)
- ID of the blog.
Default: current blog (null) - $path(string)
- Path to the site page that will be added to the URL.
Default: '' - $scheme(string)
Scheme according to which the URL should be modified. Can be:
http https relative — will return a relative URL (without the domain). login — login page protocol login_post admin rest rpc null — current site protocol is_ssl()
For more details see set_url_scheme()
Default: null
Examples
#1 Demo
echo get_site_url(); // Displays: http://www.example.com
If WP installed into subfolder, returns:
https://www.example.com/sub/folder
#2 Let's specify the protocol forcibly
echo get_site_url( null, '/wp-content/themes/', 'https' ); // Displays: https://example.com/wp-content/themes/
#3 Get just the hostname
To get just the hostname/domain component of the Site URL (without paths, schema, etc.) you could use the following:
echo parse_url( get_site_url(), PHP_URL_HOST ); // wp-kama.com
Changelog
| Since 3.0.0 | Introduced. |