home_url

Позволяет изменить URL главной страницы
Хук WordPress
INT 3.0.0
WordPress Icon

Описание хука

Хук «home_url» позволяет определить и изменить домашний URL сайта. Домашний URL — это адрес сайта, который используется для доступа к главной странице сайта. Хук «home_url» предоставляет возможность изменить этот URL или добавить к нему дополнительные параметры.

Использование

apply_filters( 'home_url', string $url, string $path, string|null $orig_scheme, int|null $blog_id )

Функция apply_filters() используется для применения хука «home_url». Она принимает следующие параметры:

  • $url (string) — Полный домашний URL, включая схему и путь.
  • $path (string) — Путь относительно домашнего URL. Если путь не указан, используется пустая строка.
  • $orig_scheme (string|null) — Схема, которая задает контекст домашнего URL. Принимает значения ‘http’, ‘https’, ‘relative’, ‘rest’ или null.
  • $blog_id (int|null) — Идентификатор сайта. Если не указан, используется текущий сайт.
<?php
/**
 * Пример использования хука "home_url"
 *
 * @param string      $url         Полный домашний URL, включая схему и путь.
 * @param string      $path        Путь относительно домашнего URL.
 * @param string|null $orig_scheme Схема, которая задает контекст домашнего URL.
 * @param int|null    $blog_id     Идентификатор сайта.
 * @return string Измененный домашний URL.
 */
function custom_home_url( $url, $path, $orig_scheme, $blog_id ) {
    // Добавляем параметр "custom=1" к домашнему URL
    $url = add_query_arg( 'custom', '1', $url );
    return $url;
}
add_filter( 'home_url', 'custom_home_url', 10, 4 );
?>

В приведенном примере кода создается функция «custom_home_url», которая принимает параметры хука «home_url». Внутри функции мы используем функцию add_query_arg() для добавления параметра «custom=1» к домашнему URL. Затем измененный URL возвращается.

Функция add_filter() используется для привязки функции «custom_home_url» к хуку «home_url» с приоритетом 10 и 4 параметрами.

Примеры использования

Преобразование URL-адреса домашней страницы в относительный путь


/**
 * Функция для преобразования URL-адреса домашней страницы в относительный путь.
 *
 * @param string $url  Полный URL-адрес домашней страницы, включая схему и путь.
 * @param string $path Относительный путь к домашней странице.
 * @return string Относительный путь к домашней странице.
 */
function custom_home_url( $url, $path ) {
    // Преобразование URL-адреса домашней страницы в относительный путь.
    $relative_path = wp_make_link_relative( $url );
    
    // Возврат относительного пути.
    return $relative_path;
}
add_filter( 'home_url', 'custom_home_url', 10, 2 );

Добавление схемы к URL-адресу домашней страницы


/**
 * Функция для добавления схемы к URL-адресу домашней страницы.
 *
 * @param string      $url          Полный URL-адрес домашней страницы, включая схему и путь.
 * @param string|null $orig_scheme  Схема для контекста URL-адреса домашней страницы.
 * @return string URL-адрес домашней страницы с добавленной схемой.
 */
function custom_home_url( $url, $orig_scheme ) {
    // Проверка, является ли схема пустой или null.
    if ( empty( $orig_scheme ) ) {
        // Добавление схемы "https" к URL-адресу домашней страницы.
        $url = set_url_scheme( $url, 'https' );
    }
    
    // Возврат URL-адреса домашней страницы с добавленной схемой.
    return $url;
}
add_filter( 'home_url', 'custom_home_url', 10, 2 );

Изменение URL-адреса домашней страницы для конкретного сайта


/**
 * Функция для изменения URL-адреса домашней страницы для конкретного сайта.
 *
 * @param string|null $url     Полный URL-адрес домашней страницы, включая схему и путь.
 * @param int|null    $blog_id ID сайта, для которого нужно изменить URL-адрес домашней страницы.
 * @return string URL-адрес домашней страницы для конкретного сайта.
 */
function custom_home_url( $url, $blog_id ) {
    // Проверка, является ли ID сайта равным 2.
    if ( $blog_id === 2 ) {
        // Изменение URL-адреса домашней страницы для сайта с ID 2.
        $url = 'https://example.com/site2';
    }
    
    // Возврат измененного URL-адреса домашней страницы.
    return $url;
}
add_filter( 'home_url', 'custom_home_url', 10, 2 );

Получение URL-адреса домашней страницы с учетом контекста


/**
 * Функция для получения URL-адреса домашней страницы с учетом контекста.
 *
 * @param string      $url          Полный URL-адрес домашней страницы, включая схему и путь.
 * @param string|null $path         Относительный путь к домашней странице.
 * @param string|null $orig_scheme  Схема для контекста URL-адреса домашней страницы.
 * @param int|null    $blog_id      ID сайта, для которого нужно получить URL-адрес домашней страницы.
 * @return string URL-адрес домашней страницы с учетом контекста.
 */
function custom_home_url( $url, $path, $orig_scheme, $blog_id ) {
    // Проверка, является ли схема пустой или null.
    if ( empty( $orig_scheme ) ) {
        // Добавление схемы "https" к URL-адресу домашней страницы.
        $url = set_url_scheme( $url, 'https' );
    }
    
    // Проверка, является ли ID сайта равным 2.
    if ( $blog_id === 2 ) {
        // Изменение URL-адреса домашней страницы для сайта с ID 2.
        $url = 'https://example.com/site2';
    }
    
    // Возврат URL-адреса домашней страницы с учетом контекста.
    return $url;
}
add_filter( 'home_url', 'custom_home_url', 10, 4 );

Вопросы и ответы

Как изменить домашнюю ссылку в WordPress?

Для изменения домашней ссылки в WordPress можно использовать хук «home_url».

Пример кода:


function custom_home_url( $url ) {
    // Изменяем домашнюю ссылку
    $url = 'https://example.com';
    return $url;
}
add_filter( 'home_url', 'custom_home_url' );

Как получить домашнюю ссылку в WordPress?

Для получения домашней ссылки в WordPress также можно использовать хук «home_url».

Пример кода:


function get_custom_home_url() {
    // Получаем домашнюю ссылку
    $url = home_url();
    return $url;
}
echo get_custom_home_url();

Как добавить путь к домашней ссылке в WordPress?

Для добавления пути к домашней ссылке в WordPress можно использовать хук «home_url».

Пример кода:


function add_path_to_home_url( $url, $path ) {
    // Добавляем путь к домашней ссылке
    $url = home_url( $path );
    return $url;
}
add_filter( 'home_url', 'add_path_to_home_url', 10, 2 );

Как изменить схему (http/https) домашней ссылки в WordPress?

Для изменения схемы (http/https) домашней ссылки в WordPress можно использовать хук home_url. Этот хук позволяет изменить полную домашнюю ссылку, включая схему и путь.

Пример использования хука home_url для изменения схемы домашней ссылки:

function change_home_url_scheme( $url, $path, $orig_scheme, $blog_id ) {
    // Изменяем схему на https
    $url = str_replace( 'http://', 'https://', $url );
    return $url;
}
add_filter( 'home_url', 'change_home_url_scheme', 10, 4 );

Как получить домашнюю ссылку для конкретного сайта в WordPress мультисайт?

Для получения домашней ссылки для конкретного сайта в WordPress мультисайт можно использовать хук home_url с параметром $blog_id. Этот параметр позволяет указать ID сайта, для которого нужно получить домашнюю ссылку.

Пример использования хука home_url для получения домашней ссылки конкретного сайта:

function get_site_home_url( $url, $path, $orig_scheme, $blog_id ) {
    // Получаем домашнюю ссылку для сайта с ID 2
    if ( $blog_id == 2 ) {
        $url = 'https://example.com/site2';
    }
    return $url;
}
add_filter( 'home_url', 'get_site_home_url', 10, 4 );

Как использовать относительную домашнюю ссылку в WordPress?

Для использования относительной домашней ссылки в WordPress можно использовать хук home_url с параметром $orig_scheme. Параметр $orig_scheme позволяет указать схему для контекста домашней ссылки.

Пример использования хука home_url для использования относительной домашней ссылки:

function use_relative_home_url( $url, $path, $orig_scheme, $blog_id ) {
    // Используем относительную домашнюю ссылку
    $url = wp_make_link_relative( $url );
    return $url;
}
add_filter( 'home_url', 'use_relative_home_url', 10, 4 );

Как использовать домашнюю ссылку для REST API в WordPress?

Для использования домашней ссылки в контексте REST API в WordPress, вы можете воспользоваться хуком home_url. Этот хук позволяет вам изменить домашнюю ссылку, включая схему и путь, используя фильтр.

// Пример использования хука home_url для REST API
add_filter( 'home_url', function( $url ) {
    // Ваш код здесь
    return $url;
} );

Как получить домашнюю ссылку для определенного сайта в WordPress мультисайт?

Для получения домашней ссылки для определенного сайта в мультисайте WordPress, вы можете использовать функцию get_home_url. Эта функция возвращает домашнюю ссылку для указанного сайта.

// Пример использования функции get_home_url для мультисайта
$site_id = 2; // Идентификатор сайта
$home_url = get_home_url( $site_id );
echo $home_url;

Как изменить домашнюю ссылку для определенного сайта в WordPress мультисайт?

Для изменения домашней ссылки для определенного сайта в мультисайте WordPress, вы можете использовать хук home_url. Этот хук позволяет вам изменить домашнюю ссылку, включая схему и путь, для указанного сайта.

// Пример использования хука home_url для изменения домашней ссылки в мультисайте
add_filter( 'home_url', function( $url, $path, $orig_scheme, $blog_id ) {
    if ( $blog_id === 2 ) {
        // Изменение домашней ссылки для сайта с идентификатором 2
        $url = 'https://example.com/site2';
    }
    return $url;
}, 10, 4 );

Хук home_url в WordPress позволяет изменить домашнюю ссылку, включая схему и путь. Это полезно при использовании REST API или при работе с мультисайтом, когда требуется получить или изменить домашнюю ссылку для определенного сайта. Используйте функцию get_home_url для получения домашней ссылки, и фильтр home_url для изменения домашней ссылки. Эти инструменты помогут вам эффективно управлять домашней ссылкой в WordPress.

Связанные элементы

  • Функция get_home_url(): возвращает URL домашней страницы сайта.
  • Функция set_url_scheme(): устанавливает схему для URL.
  • Функция home_url(): возвращает URL домашней страницы сайта.
  • Функция get_site_url(): возвращает URL сайта.
  • Функция network_home_url(): возвращает URL домашней страницы сети сайтов.
  • Функция network_site_url(): возвращает URL сайта сети.
  • Класс WP_Http_Streams: предоставляет методы для работы с потоками данных.
  • Класс WP_Http_Curl: предоставляет методы для работы с cURL.
Обсуждение