Описание got_rewrite
— Action
Хук got_rewrite позволяет изменять правила перезаписи URL перед их применением в WordPress. Он срабатывает после генерации правил перезаписи и перед их использованием, что позволяет разработчикам добавлять или изменять правила перезаписи.
Примеры использования
Пример добавления пользовательского правила перезаписи:
add_action('got_rewrite', function($wp_rewrite) {
$wp_rewrite->add_rule('^my-custom-endpoint/?$', 'index.php?pagename=my-custom-page', 'top');
});
В этом примере мы добавляем пользовательское правило, которое перенаправляет запросы к ‘my-custom-endpoint’ на страницу ‘my-custom-page’.
Пример изменения существующего правила перезаписи:
add_action('got_rewrite', function($wp_rewrite) {
$rules = $wp_rewrite->rules;
if (isset($rules['old-endpoint/(.+)'])) {
unset($rules['old-endpoint/(.+)']);
$wp_rewrite->add_rule('new-endpoint/(.+)', 'index.php?pagename=new-page¶m=$matches[1]', 'top');
}
});
Здесь мы удаляем старое правило для ‘old-endpoint’ и добавляем новое правило для ‘new-endpoint’.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо добавить или изменить правила перезаписи URL в вашей теме или плагине
– Производительность
Изменения в правилах перезаписи могут повлиять на производительность, если добавлять слишком много правил, поэтому старайтесь оптимизировать их
– Предупреждения
Будьте осторожны при изменении существующих правил, так как это может повлиять на доступность контента и SEO
Альтернативы
Тип: filter
Этот фильтр позволяет изменять массив правил перезаписи перед их применением
Используйте его, если вы хотите изменить уже существующие правила, не добавляя новые действия