# add_rewrite_endpoint()

URL: https://chugunov.pro/api-wordpress/functions/add_rewrite_endpoint/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.1.0.

## Сигнатура

```php
add_rewrite_endpoint( string $name, int $places, string|bool $query_var = true )
```

## Описание

Добавление конечной точки создаёт дополнительные правила перезаписи для каждого из подходящих мест, указанных в переданной битовой маске. Например:
add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );добавит новое правило перезаписи, оканчивающееся на “json(/(.*))?/?$”, для каждой permastruct, описывающей постоянную ссылку (запись) или страницу. Оно переписывается в “json=$match”, где $match — это часть URL, совпавшая с регулярным выражением конечной точки (например, “foo” в “[permalink]/json/foo/”).
Также будет создана новая переменная запроса с тем же именем, что и конечная точка.
При указании $places используйте константы EP_* (или их комбинацию с помощью побитового оператора ИЛИ), так как их значения не гарантированно остаются неизменными (особенно EP_ALL).
Обязательно сбросьте правила перезаписи — см. flush_rewrite_rules() — при активации и деактивации вашего плагина.

## Параметры

- `$name` `string` — обязательный. Имя конечной точки.
- `$places` `int` — обязательный. Маска конечной точки, описывающая места, куда следует добавить конечную точку.
  
  Принимает маску из:
  
  EP_ALL
  
  EP_NONE
  
  EP_ALL_ARCHIVES
  
  EP_ATTACHMENT
  
  EP_AUTHORS
  
  EP_CATEGORIES
  
  EP_COMMENTS
  
  EP_DATE
  
  EP_DAY
  
  EP_MONTH
  
  EP_PAGES
  
  EP_PERMALINK
  
  EP_ROOT
  
  EP_SEARCH
  
  EP_TAGS
  
  EP_YEAR
- `$query_var` `string|bool` — необязательный, по умолчанию `true`. Имя соответствующей переменной запроса. Передайте false, чтобы не регистрировать query_var для этой конечной точки. По умолчанию — значение $name.

## Исходный код

Файл: `wp-includes/rewrite.php:335`

```php
function add_rewrite_endpoint( $name, $places, $query_var = true ) {
	global $wp_rewrite;
	$wp_rewrite->add_endpoint( $name, $places, $query_var );
}
```

## История изменений

- 4.3.0 — Added support for skipping query var registration by passing false to $query_var.
- 2.1.0 — Introduced.

## Связанные

Использует: `WP_Rewrite::add_endpoint`.

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/add_rewrite_endpoint/
