Описание generate_rewrite_rules
— Action
Хук generate_rewrite_rules позволяет изменять правила перезаписи URL в WordPress. Он срабатывает в процессе генерации правил перезаписи, что позволяет разработчикам добавлять свои собственные правила для пользовательских типов записей и таксономий, а также для других URL-структур
Примеры использования
Пример добавления пользовательского правила перезаписи:
add_action('generate_rewrite_rules', function($wp_rewrite) {
$rules = array('custom-page/?$' => 'index.php?pagename=custom-page');
$wp_rewrite->rules = $rules + $wp_rewrite->rules;
});
В этом примере мы добавляем правило, которое перенаправляет /custom-page на страницу с именем ‘custom-page’
Пример добавления правил для пользовательского типа записи:
add_action('generate_rewrite_rules', function($wp_rewrite) {
$rules = array('products/(.+)/?$' => 'index.php?post_type=product&name=$matches[1]');
$wp_rewrite->rules = $rules + $wp_rewrite->rules;
});
Здесь мы создаем правило для пользовательского типа записи ‘product’, которое позволяет использовать /products/{slug} в URL
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо добавить или изменить правила перезаписи для пользовательских типов записей или таксономий
– Производительность
Убедитесь, что добавляемые правила не перегружают систему избыточными запросами
– Предупреждения
Следите за тем, чтобы не конфликтовать с уже существующими правилами перезаписи, которые могут нарушить работу сайта
Альтернативы
Тип: action
Этот хук может использоваться для регистрации пользовательских типов записей и таксономий, что также позволяет управлять правилами перезаписи
Используйте его, если необходимо выполнять дополнительные действия в процессе инициализации WordPress