функция since 2.1.0

add_rewrite_endpoint()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

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() — при активации и деактивации вашего плагина.

Оригинал (английский)

Adding an endpoint creates extra rewrite rules for each of the matching places specified by the provided bitmask. For example:

add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );

will add a new rewrite rule ending with “json(/(.*))?/?$” for every permastruct that describes a permalink (post) or page. This is rewritten to “json=$match” where $match is the part of the URL matched by the endpoint regex (e.g. “foo” in “[permalink]/json/foo/”).

A new query var with the same name as the endpoint will also be created.

When specifying $places ensure that you are using the EP_* constants (or a combination of them using the bitwise OR operator) as their values are not guaranteed to remain static (especially EP_ALL).

Be sure to flush the rewrite rules – see flush_rewrite_rules() – when your plugin gets activated and deactivated.

Параметры

$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

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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.