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 проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

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