rest_url_prefix
Позволяет изменить базу (префикс маршрутов) 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'
Примеры
#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_url_prefix
wp-includes/rest-api.php 488
return apply_filters( 'rest_url_prefix', 'wp-json' );