Описание функции add_rewrite_rule()
Функция add_rewrite_rule() добавляет новое правило перезаписи URL в WordPress, позволяя управлять структурой и поведением URL-адресов. Это полезно для создания пользовательских страниц и управления запросами к определённым ресурсам на сайте.
Правила перезаписи позволяют создать «чистые» URL, которые удобны для пользователей и SEO.
Параметры
$regex
Тип: string
Обязательный: Да
Описание: Регулярное выражение для сопоставления с URL-адресом
Возможные значения:
$query
Тип: string
Обязательный: Да
Описание: Строка запроса, которая будет использована для обработки запроса
Возможные значения:
$priority
Тип: int
Обязательный: Нет
По умолчанию: 10
Описание: Приоритет правила (чем меньше число, тем выше приоритет)
Возможные значения:
Возвращаемое значение
Тип: void
Описание: Функция ничего не возвращает, но добавляет правило в массив правил перезаписи
Возможные значения:
Примеры использования
Добавляет правило перезаписи для пользовательской страницы
add_rewrite_rule('^my-custom-page/?$', 'index.php?pagename=my-custom-page', 'top');
Доступ к странице по: /my-custom-page/
Создаёт правило для доступа к товарам по URL
add_rewrite_rule('^products/([^/]*)/?$', 'index.php?product=$matches[1]', 'top');
Доступ к товару по: /products/product-name/
Добавляет правило перезаписи для страницы ‘О нас’
function my_custom_rewrite_rules() {
add_rewrite_rule('^about/?$', 'index.php?pagename=about', 'top');
}
add_action('init', 'my_custom_rewrite_rules');
Доступ к странице по: /about/
Безопасность
Валидация входных данных: Параметры regex и query должны валидироваться как корректные строки
Санитизация: Необходимо проверять регулярные выражения на корректность
Рекомендации: Избегайте использования небезопасных данных в регулярных выражениях
— Связанные функции
Сбрасывает кэш правил перезаписи
Добавляет новый тег для использования в правилах перезаписи
— Примечания
– Ограничения
Слишком сложные регулярные выражения могут привести к ошибкам
– Частые проблемы
- Правила не срабатывают, если не сбрасываются после добавления
- Ошибки в регулярных выражениях могут привести к неправильной маршрутизации