Wordpress редирект parent-category/category/

На данный момент к категорий товара я могу достучаться localhost/parent-category/category/ или localhost/category/. Я хочу сделать чтоб постоянно была ссылка localhost/parent-category/category/

то есть если я например уберу localhost/parent-category/category/ меня должно редиректить на localhost/parent-category/category/

состряпал вот такой код, но от работает через раз, не понятно почему.

function redirect_child_category() {
    if (is_product_category() && !is_admin() && !did_action('wp_redirect')) {
        $category = get_queried_object();
        $category_id = $category->term_id;

        $category_link = get_category_link($category_id);

        $current_url = strtok("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]", '?');

        if ($category_link !== $current_url && !isset($_SERVER['HTTP_REFERER'])) {
            if (!empty($_SERVER['QUERY_STRING'])) {
                $category_link .= '?' . $_SERVER['QUERY_STRING'];
            }
            wp_redirect($category_link, 301);
            exit;
        }
    }
}
add_action('template_redirect', 'redirect_child_category');

Возможно есть какой-то плагин, который может контролировать такое поведение.


Ответы (0 шт):