Функция get_rest_url()
используется для получения URL конечной точки REST API вашего сайта. REST API позволяет взаимодействовать с сайтом WordPress через HTTP-запросы, что позволяет создавать, читать, обновлять и удалять контент программно.
get_rest_url( $blog_id = null, $path = '/', $scheme = 'rest' );
Параметры
$blog_id
(int|null) (необязательный) — Идентификатор блога для многосайтовых установок. Передается вget_home_url()
. По умолчаниюnull
, что означает текущий сайт.$path
(string) (необязательный) — REST маршрут (путь). Добавляется в конец URL, последний слэш удаляется, если он есть. По умолчанию'/'
.$scheme
(string) (необязательный) — Схема очистки данных. Может бытьrest
,https
,http
илиrelative
. Передается вget_home_url()
. По умолчанию'rest'
.
Возвращаемое значение
- (string) — Базовый URL REST API с добавленным путем (если указан). Возвращаемый URL не очищается для вывода на экран. Поэтому перед выводом используйте функцию
esc_url()
.
Получение базового URL REST API
Этот пример показывает, как получить базовый URL REST API вашего сайта:
// Получение базового URL REST API текущего сайта.
$rest_url = get_rest_url();
echo esc_url( $rest_url );
Этот код выведет базовый URL REST API, который будет выглядеть примерно так:
https://example.com/wp-json/
Получение URL для определенного пути
В этом примере мы получаем URL для конкретного пути REST API:
// Получение URL для пути 'wp/v2/posts'.
$posts_url = get_rest_url( null, 'wp/v2/posts' );
echo esc_url( $posts_url );
Этот код выведет URL, который будет выглядеть примерно так:
https://example.com/wp-json/wp/v2/posts
Использование в многосайтовой установке
Если ваш сайт является частью сети WordPress Multisite, вы можете указать идентификатор блога, чтобы получить URL REST API для конкретного сайта:
// Получение URL REST API для сайта с идентификатором блога 2.
$rest_url_multisite = get_rest_url( 2 );
echo esc_url( $rest_url_multisite );
Этот код выведет URL REST API для сайта с идентификатором блога 2:
https://example.com/site2/wp-json/
Изменение схемы URL
Вы также можете изменить схему URL, например, для использования HTTPS:
// Получение URL REST API с использованием HTTPS.
$rest_url_https = get_rest_url( null, '/', 'https' );
echo esc_url( $rest_url_https );
Этот код выведет URL REST API с использованием HTTPS:
https://example.com/wp-json/
Демонстрация различных вариантов использования
Примеры демонстрируют, как можно использовать функцию для получения URL различных конечных точек REST API:
// Базовый URL REST API
echo esc_url( get_rest_url() );
//> https://example.com/wp-json/
// URL REST API для сайта с ID 5
echo esc_url( get_rest_url( 5 ) );
//> https://subsite.example.com/wp-json/
// URL REST API для пути '/foo'
echo esc_url( get_rest_url( 0, '/foo' ) );
//> https://example.com/wp-json/foo
// URL REST API для пути '/foo' с использованием HTTPS
echo esc_url( get_rest_url( 0, '/foo', 'https' ) );
//> https://example.com/wp-json/foo
Заключение
Функция get_rest_url()
в WordPress — это мощный инструмент для работы с REST API. Она позволяет легко получать базовые и специализированные URL API, что упрощает интеграцию и взаимодействие с вашим сайтом программным путем. Надеюсь, что приведенные примеры помогут вам эффективно использовать эту функцию в ваших проектах.