Удалить slug категории добавленной через ACF
в function.php добавить код
add_action('init', function() {
// Таксономии, у которых нужно убрать slug
$taxonomies = [
'categories-currency',
'category-burse',
'category-term',
'category-wallets'
];
// Добавим правила без slug
foreach ($taxonomies as $tax) {
add_rewrite_tag('%' . $tax . '%', '([^/]+)', $tax . '=');
add_permastruct($tax, '%'.$tax.'%', ['with_front' => false]);
}
}, 0);
// Перехватываем запрос и убираем slug из URL
add_filter('request', function($query) {
$taxonomies = [
'categories-currency',
'category-burse',
'category-term',
'category-wallets'
];
if (!isset($query['name'])) return $query;
foreach ($taxonomies as $tax) {
$term = get_term_by('slug', $query['name'], $tax);
if ($term) {
unset($query['name']);
$query[$tax] = $term->slug;
break;
}
}
return $query;
});
// Меняем ссылки на термины
add_filter('term_link', function($url, $term, $taxonomy) {
$taxonomies = [
'categories-currency',
'category-burse',
'category-term',
'category-wallets'
];
if (in_array($taxonomy, $taxonomies)) {
return home_url(user_trailingslashit($term->slug));
}
return $url;
}, 10, 3);