Описание pre_category_nicename
— Filter
Хук pre_category_nicename позволяет изменить слаг категории перед ее сохранением в базе данных. Он срабатывает в момент, когда создается или обновляется категория, что позволяет разработчикам изменить слаг на основе пользовательских условий
Примеры использования
Пример изменения слага категории для определенной категории:
add_filter('pre_category_nicename', function($nicename, $category_id) {
if ($category_id == 5) {
return 'новый-слаг';
}
return $nicename;
});
В этом примере мы изменяем слаг категории с ID 5 на ‘новый-слаг’
Пример добавления префикса к слагу категории:
add_filter('pre_category_nicename', function($nicename, $category_id) {
return 'prefix-' . $nicename;
});
Здесь мы добавляем префикс ‘prefix-‘ к слагу для всех категорий
Пример удаления всех пробелов из слага категории:
add_filter('pre_category_nicename', function($nicename) {
return str_replace(' ', '-', $nicename);
});
В этом примере все пробелы в слаге заменяются на дефисы
— Лучшие практики
– Использование
Используйте этот хук, когда нужно изменить слаги категорий перед их сохранением в базе данных
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только текста слага
– Предупреждения
Следите за тем, чтобы изменения не приводили к конфликтам с существующими слагами, так как это может вызвать ошибки 404
Альтернативы
Тип: action
Этот хук срабатывает после создания категории и может быть использован для выполнения дополнительных действий
Используйте его, если нужно выполнить действия после создания или обновления категории, а не только изменить слаг