WordPress как на ладони
Наставник Трепачёв Д.П., phphtml.net wordpress jino

add_rewrite_endpoint() WP 2.1.0

Добавляет конечную точку, например /trackback/. Добавляются дополнительные правила перезаписи ЧПУ с указанной конечной точкой.

При добавлении конечной точки в ЧПУ, добавляются дополнительные правила перезаписи URL для каждого типа URL указанного во втором параметре $places? это может быть: пост, страница, рубрика, автор, поиск. Например:

add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );

Добавит новое правило оканчивающееся на json(/(.*))?/?$ для каждой структуры ЧПУ, которая описывает ЧПУ постов или постоянных страниц. Итоговый параметр запроса будет выглядеть так: [базовые параметры]&json=$match, где $match - это частью ЧПУ следующая за конечной точкой. Например если ссылка такая: [permalink]/json/foo/ то $match будет foo, а запрос такой [параметры permalink]?json=foo.

Функция также добавляет название конечной точки ( из примера json) в белый список переменных запроса.

При указании параметра $places, убедитесь что вы используете рабочую константу типа EP_* (можно использовать несколько параметров через |).

Для внесения изменений не забывайте сбрасывать правила, с помощью flush_rewrite_rules() при активации/деактивации плагина. Или, для сброса, можно просто зайти в настройки постоянных ссылок в админке и просто обновиться...

Работает на основе: WP_Rewrite()

Хуков нет.

Возвращает

null. Ничего.

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

add_rewrite_endpoint( $name, $places, $query_var );
$name(строка) (обязательный)
Название конечной точки.
$places(число) (обязательный)

Место куда конечная точка должна быть добавлена. Названия мест - маски конечных точек для:

  • EP_NONE - по дефолту - не относится ни к чему
  • EP_PERMALINK - постоянных ссылок постов
  • EP_ATTACHMENT - вложений
  • EP_DATE - даты
  • EP_YEAR - года
  • EP_MONTH - месяца
  • EP_DAY - дня
  • EP_ROOT - корня (root)
  • EP_COMMENTS - комментариев
  • EP_SEARCH - поиска
  • EP_CATEGORIES - рубрик
  • EP_TAGS - меток
  • EP_AUTHORS - авторов
  • EP_PAGES - постоянных страниц
  • EP_ALL_ARCHIVES - архивов: EP_DATE | EP_YEAR | EP_MONTH | EP_DAY | EP_CATEGORIES | EP_TAGS | EP_AUTHORS
  • EP_ALL - всего сразу: EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEARCH | EP_PAGES | EP_ALL_ARCHIVES
$query_var(строка/логический)
Название переменной запроса для этой конечной точки, по умолчанию равно названию конечной точки (параметру $name). Укажите false, чтобы функция не добавляла переменную запроса.
По умолчанию: true

Примеры

#1 Добавим ЧПУ конечной точки постов и страниц

add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );

Код add rewrite endpoint: wp-includes/rewrite.php WP 4.8.1

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

Cвязанные функции

Из метки: Rewrite (ЧПУ перезапись)

add_rewrite_endpoint Комментариев нет

Здравствуйте, !

Ваш комментарий