add_rewrite_endpoint()

19 февраля, 2025
Добавление пользовательского конечного пути для обработки запросов в WordPress с помощью функции add_rewrite_endpoint(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции add_rewrite_endpoint()

Функция add_rewrite_endpoint() позволяет добавлять пользовательские конечные пути к URL в WordPress, что позволяет управлять запросами и выводом информации на основе заданного конечного пути. Это полезно для создания расширенных функциональностей, таких как API или пользовательские страницы в админ-панели.

Функция регистрирует новый конечный путь, который затем может быть использован для обработки запросов и вывода соответствующего контента.

Параметры

$endpoint

Тип: string

Обязательный: Да

Описание: Имя конечного пути, который будет добавлен к URL

Возможные значения:

$query_var

Тип: string

Обязательный: Нет

Описание: Имя переменной запроса, связанной с конечным путем

Возможные значения:

$ep_mask

Тип: int

Обязательный: Нет

По умолчанию: EP_NONE

Описание: Маска для конечного пути (по умолчанию — EP_NONE)

Возможные значения:

EP_NONE: 0

EP_PERMALINK: 1

EP_ATTACHMENT: 2

EP_PAGE: 4

EP_ARCHIVE: 8

EP_CATEGORY: 16

EP_TAG: 32

Возвращаемое значение

Тип: void

Описание: Функция ничего не возвращает

Возможные значения:

• Нет возвращаемого значения

• Ничего не происходит если функция вызвана некорректно

Примеры использования

Добавляем пользовательский конечный путь без переменной запроса

				
					add_rewrite_endpoint('my-endpoint');
				
			

Теперь URL может выглядеть как example.com/my-endpoint/

Добавление конечного пути с привязкой к переменной запроса

				
					add_rewrite_endpoint('my-endpoint', 'my_query_var');
				
			

URL будет использовать my_query_var для обработки запросов

Добавление конечного пути с указанием маски

				
					add_rewrite_endpoint('my-endpoint', null, EP_PAGE);
				
			

Конечный путь будет доступен только для страниц

Добавление конечного пути в контексте плагина

				
					function my_plugin_init() {
    add_rewrite_endpoint('my-endpoint', 'my_query_var');
}
add_action('init', 'my_plugin_init');
				
			

Не забудьте обновить постоянные ссылки после добавления конечного пути

Безопасность

Валидация входных данных: Параметры проверяются на допустимость внутри функции

Санитизация: Функция обрабатывает входные параметры для предотвращения ошибок

Рекомендации: При работе с конечными путями всегда проверяйте наличие необходимого контента перед выводом

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

Добавляет новые правила переписывания для обработки запросов

Сбрасывает кэш правил переписывания

— Примечания

– Ограничения

Необходимо вызывать функцию до инициализации WordPress

– Частые проблемы

  • Ошибка 404 при неправильной настройке конечного пути
  • Некорректная работа при отсутствии вызова flush_rewrite_rules()

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Система аренды
Шаблон сайта аренды спецтехники или строительного оборудования. Этот шаблон помогает создать функциональный ресурс, где пользователи могут легко арендовать оборудование для строительства

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊