rest_url_prefixхук-фильтрWP 4.4.0

Позволяет изменить базу (префикс маршрутов) REST API. Например, с wp-json на api.

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

add_filter( 'rest_url_prefix', 'wp_kama_rest_url_prefix_filter' );

/**
 * Function for `rest_url_prefix` filter-hook.
 * 
 * @param string $prefix URL prefix.
 *
 * @return string
 */
function wp_kama_rest_url_prefix_filter( $prefix ){

	// filter...
	return $prefix;
}
$prefix(строка)
Текущий префикс всех марушрутов REST API.
По умолчанию: 'wp-json'

Примеры

0

#1 Изменим префикс REST API с wp-json на api

## Изменяет префикс REST API с `wp-json` на `api`
add_filter( 'rest_url_prefix', 'change_rest_api_prefix' );
function change_rest_api_prefix( $slug ){
	return 'api';
}

## Вместе со сменой префикса, хорошо бы добавить новое имя в черный список
add_filter( 'subdirectory_reserved_names', function( $names ){
	$names[] = 'api';
	return $names;
} );

Теперь нужно обновить правила перезаписи - нужно зайти на страницу админки «Постоянные ссылки».

Все, теперь абсолютно все REST маршруты будут начинаться с /api/ а не с /wp-json/.

Например, эндпоинт (маршрут, ссылка) просмотра записи с ID 1 будет такой:

http://example.com/api/wp/v2/posts/1

Список изменений

С версии 4.4.0 Введена.

Где вызывается хук

rest_get_url_prefix()
rest_url_prefix
wp-includes/rest-api.php 449
return apply_filters( 'rest_url_prefix', 'wp-json' );

Где используется хук в WordPress

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