Remove category-product in Woocommerce
Add this into your theme or child theme into functions.php
/** * Remove product category */ add_filter('request', 'wrg_remove_category_slug'); add_filter('term_link', 'wrg_term_link_filter', 999, 3); function wrg_remove_category_slug($vars) { global $wpdb; if (!empty($vars['pagename']) || !empty($vars['category_name']) || !empty($vars['name']) || !empty($vars['attachment'])) { $slug = !empty($vars['pagename']) ? $vars['pagename'] : (!empty($vars['name']) ? $vars['name'] : (!empty($vars['category_name']) ? $vars['category_name'] : $vars['attachment'])); $exists = $wpdb-> get_var($wpdb-> prepare("SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s", array($slug))); if ($exists) { $old_vars = $vars; $vars = array('product_cat' => $slug); if (!empty($old_vars['paged']) || !empty($old_vars['page'])) $vars['paged'] = !empty($old_vars['paged']) ? $old_vars['paged'] : $old_vars['page']; if (!empty($old_vars['orderby'])) $vars['orderby'] = $old_vars['orderby']; if (!empty($old_vars['order'])) $vars['order'] = $old_vars['order']; } } return $vars; } function wrg_term_link_filter($url, $term, $taxonomy) { $url = str_replace("/product-category/", "/", $url); return $url; }