Функция get_home_url()
в WordPress возвращает URL главной страницы сайта (домашней страницы). Она полезна для динамического получения URL главной страницы с учетом протокола (HTTP или HTTPS) и, при необходимости, добавления пути к конкретной странице или ресурсу на сайте.
get_home_url( int|null $blog_id = null, string $path = '', string|null $scheme = null ): string
Аргументы
$blog_id
(int|null) — ID сайта в сети WordPress Multisite (по умолчаниюnull
, что означает текущий сайт).$path
(string) — Путь, который нужно добавить к базовому URL (по умолчанию пустая строка).$scheme
(string|null) — Схема URL (например,http
,https
,relative
), указывающая контекст, в котором будет возвращён URL. По умолчаниюnull
.
Возвращаемое значение
Функция возвращает строку с полным URL главной страницы сайта, с добавленным путем (если указан) и с учетом протокола (HTTP или HTTPS).
Пример 1: Основное использование
Выведем URL главной страницы сайта:
echo get_home_url();
Результат:
Если сайт настроен на использование HTTPS, вы увидите:
https://example.com
Если используется HTTP:
http://example.com
Пример 2: Использование с указанием пути
Функция get_home_url()
позволяет добавлять относительный путь к URL главной страницы. Например, если нужно получить URL страницы в админке:
echo get_home_url( null, 'wp-admin/' );
Результат:
http://example.com/wp-admin/
Пример 3: Принудительное использование HTTPS
В ситуациях, когда необходимо использовать HTTPS независимо от текущего протокола, можно явно указать https
в качестве третьего аргумента:
echo get_home_url( null, 'my-page/', 'https' );
Результат:
https://example.com/my-page/
Пример 4: Использование в режиме «относительный URL»
Иногда полезно получить относительный URL (например, для ссылок внутри страниц). Для этого нужно указать 'relative'
в параметре $scheme
:
echo get_home_url( null, 'about-us/', 'relative' );
Результат:
/about-us/
Пример 5: Встраивание параметров в URL
Функция позволяет добавлять параметры запроса к URL:
echo get_home_url( null, 'contact-us?ref=123' );
Результат:
https://example.com/contact-us?ref=123
Пример 6: Добавление якоря к URL
Можно также добавить якорь к URL (например, для ссылки на определенную секцию на странице):
echo get_home_url( null, '#footer', 'https' );
Результат:
https://example.com/#footer
Пример 7: Пример с использованием Multisite
В WordPress Multisite можно указать ID сайта для получения URL другого блога в сети:
echo get_home_url( 2 ); // Получение URL второго сайта в сети
Результат:
http://secondsite.example.com
Пример 8: Защита от неправильных URL
Если вы передадите некорректный путь, например полный URL, WordPress автоматически обработает его:
echo get_home_url( null, 'http://foo.bar/page' );
Результат:
http://example.com/http://foo.bar/page
Что указывает на некорректное использование. Будьте внимательны при передаче параметров в функцию.
Как работает get_home_url()
Функция возвращает значение из опции home
, которая соответствует URL главной страницы сайта, определенной в настройках WordPress. В зависимости от протокола (HTTP или HTTPS), который определяется функцией is_ssl()
, возвращается соответствующий URL. Если указана константа WP_HOME
в файле wp-config.php
, функция вернет значение этой константы.
Отличие от get_site_url()
Стоит помнить, что get_home_url()
возвращает URL главной страницы сайта, в то время как get_site_url()
возвращает URL WordPress, где находятся файлы ядра WordPress.
Заключение
Функция get_home_url()
— мощный инструмент для работы с URL главной страницы вашего сайта в WordPress. Она гибко адаптируется под разные схемы (HTTP, HTTPS, относительный путь), и может использоваться как на одиночных сайтах, так и в Multisite-сетях.