# Функция GET_SITE_URL() │ WP 3.0.0
Функция get_site_url() позволяет получить URL вашего сайта, где доступны файлы приложения WordPress (например, wp-blog-header.php или папка wp-admin).
## Что она делает?
Эта функция возвращает URL сайта с правильным протоколом: 'https', если используется SSL (защищенное соединение), и 'http', если нет. Если вы указываете $scheme как 'http' или 'https'', то это значение будет иметь приоритет.
### Используют:
- site_url()
- get_admin_url()
**Время выполнения:**
- 1 раз — 0.000067 сек (очень быстро)
- 50000 раз — 2.20 сек (по-прежнему быстро)
## Хуки функции
- site_url
## Что возвращает?
Строку — ссылку на сайт с опциональным добавлением пути.
## Как использовать
```php
get_site_url( $blog_id, $path, $scheme );
- $blog_id (int|null): ID сайта. По умолчанию
null(текущий сайт). - $path (string): Путь относительно URL сайта. По умолчанию
''. - $scheme (string|null): Протокол, который определяет контекст URL. Может принимать значения:
'http','https','login','login_post','admin'или'relative'. По умолчаниюnull.
Примеры использования
Пример 1: Простое использование
echo get_site_url();
Вывод: http://www.example.com
Если WordPress установлен в подпапке, функция вернёт:
https://www.example.com/sub/folder
Пример 2: Указываем протокол явно
echo get_site_url( null, '/wp-content/themes/', 'https' );
Вывод: https://example.com/wp-content/themes/
Пример 3: Получаем только имя домена
Если вам нужно получить только имя хоста/домен без путей и схемы, используйте:
echo parse_url( get_site_url(), PHP_URL_HOST ); // wp-kama.com
Код функции
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, '/' );
}
/**
* Фильтрует URL сайта.
*
* @since 2.7.0
*
* @param string $url Полный URL сайта с протоколом и путём.
* @param string $path Путь относительно URL сайта. Пустая строка, если путь не указан.
* @param string|null $scheme Протокол, который определяет контекст URL сайта. Принимает значения 'http', 'https', 'login',
* 'login_post', 'admin', 'relative' или null.
* @param int|null $blog_id ID сайта или null для текущего сайта.
*/
return apply_filters( 'site_url', $url, $path, $scheme, $blog_id );
}
Связанные функции
Опции сайта (настройки)
add_option()admin_url()delete_option()get_bloginfo()get_home_path()get_home_url()get_option()home_url()is_ssl()site_url()update_option()wp_get_environment_type()wp_load_alloptions()