Skip navigation
Обновлено
7 июня, 2024

Обычная практика создания ссылки на главную страницу заключалась в том, чтобы вставить ее в тему (обычно в файл header.php):

<a href="<?php echo get_option('home'); ?>/" >

Он генерирует ссылку, указывающую на домашний адрес Вашего сайта. Поскольку этот адрес хранится в WordPress без косой черты «/», этот код также добавляет эту косую черту. Без него WordPress будет перенаправлять внутреннюю страницу, вызывая двойной доступ для каждого нажатия на главную страницу.

Когда Вы используете WPML, адрес главной страницы изменяется в зависимости от языка. В некоторых адресах уже содержится завершающая косая черта «/», а в других — нет. Если Вы сохраните обычную ссылку на домашнюю страницу, то для некоторых домашних страниц Вы получите двойные знаки «/». Например, Ваша домашняя страница на испанском языке может выглядеть следующим образом:

example.com/es//

Чтобы избежать этого, мы предлагаем использовать новый фильтр, доступный с версии WPML 3.2,
wpml_home_url
. Он укажет на правильный домашний адрес и автоматически использует правильную косую черту. Например, Вы можете использовать что-то вроде следующего:

<?php $my_home_url = apply_filters( 'wpml_home_url', get_option( 'home' ) ); ?>
<a href="<?php echo $my_home_url; ?>">Home</a>

Ниже приведен пример использования крючка icl_get_home_url:

<a href="<?php echo icl_get_home_url() ?>" >

Использование собственных крючков WordPress для получения домашнего URL

По мере развития WordPress мы также добавили поддержку его родных крючков, что еще больше упрощает использование. Например, такие родные крючки WordPress, как
get_home_url()
или
home_url()
по умолчанию фильтруют Ваш URL по языку. Это значит, что Вы можете использовать их напрямую, например, так:

<?php echo esc_url( home_url( '/' ) ); ?>Home</a>

Пожалуйста, имейте в виду, что другие крючки WordPress, такие как
site_url()
,
get_option(‘home’)
и
get_option(‘siteurl’)
не фильтруются автоматически. Если Вы решите использовать эти крючки, воспользуйтесь нашим фильтром wpml_home_url для перевода домашнего адреса сайта.