Позволяет переопределить ответ REST API. Изменить результат REST запроса до его базовой обработки.

Click here to view original web page at wp-kama.ru

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

Если фильтр вернет не пустое значение, то оно будет использовано для создания ответа на REST запрос. См. параметр $result.

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

add_filter( 'rest_pre_dispatch', 'filter_function_name_5911', 10, 3 );
function filter_function_name_5911( $result, $server, $request ){
	// filter...

	return $result;
}
$result(смешанный)

Ответ на запрос, который заменить дефолтный ответ REST сервера. Если вернуть пустое значение (false|null|0|''), то ничего не произойдет и REST будет работать по дефолту. Может быть возвращены следующие объекты:

$server(WP_REST_Server)
Экземпляр сервера.
$request(WP_REST_Request)
Текущий запрос к REST API в виде объекта WP_REST_Request.

Примеры

#1 Закроем все маршруты REST от публичного доступа

add_filter( 'rest_pre_dispatch', 'close_rest_routes', 10, 3 );
function close_rest_routes( $result, $rest_server, $request ){

	// maybe authentication error already set
	if( is_null( $result ) && ! current_user_can('manage_options') )
		return new WP_Error( 'rest_not_logged_in', 'Your capability is low.', [ 'status' => 401 ] );

	return $result;
}

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

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

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