Para eliminar la base /categoria-producto/ de las URLs de las categorías de productos en WooCommerce sin usar un plugin, puedes seguir estos pasos.
Necesitarás agregar un fragmento de código en el archivo functions.php de tu tema hijo (o un plugin específico para tu sitio si prefieres).
Si quieres hacerlo con pluging aquí tienes este artículo.
Paso 1: Hacer una copia de seguridad
Antes de hacer cualquier cambio, es importante que realices una copia de seguridad completa de tu sitio web, incluyendo la base de datos y los archivos.
Paso 2: Editar el archivo functions.php
Agrega el siguiente código al archivo functions.php
de tu tema hijo:
phpCopiar código// Eliminar base de categoría de productos en WooCommerce
add_filter('register_taxonomy_args', 'remove_product_category_base', 10, 2);
function remove_product_category_base($args, $taxonomy) {
if ($taxonomy !== 'product_cat') {
return $args;
}
$args['rewrite']['slug'] = '';
return $args;
}
add_action('init', 'flush_rewrite_rules');
Paso 3: Actualizar enlaces permanentes
Después de agregar el código, debes actualizar los enlaces permanentes de tu sitio. Ve a Ajustes > Enlaces permanentes en tu panel de administración de WordPress y haz clic en el botón Guardar cambios sin realizar ninguna modificación. Esto actualizará las reglas de reescritura.
Paso 4: Probar las URLs
Verifica que las URLs de tus categorías de productos ahora no incluyan la base /categoria-producto/
. Deben mostrarse directamente como tu-dominio.com/nombre-de-la-categoria
.
Paso 5: Redirección (opcional)
Si tu sitio ya tiene tráfico y quieres redirigir las antiguas URLs con la base /categoria-producto/
a las nuevas URLs sin la base, puedes agregar este código adicional:
phpCopiar código// Redireccionar antiguas URLs de categorías de productos a las nuevas
add_action('template_redirect', 'redirect_old_product_category_urls');
function redirect_old_product_category_urls() {
if (is_product_category()) {
$current_url = home_url(add_query_arg(array(), $wp->request));
$new_url = str_replace('/categoria-producto/', '/', $current_url);
if ($current_url !== $new_url) {
wp_redirect($new_url, 301);
exit();
}
}
}
Con estos pasos, habrás eliminado la base /categoria-producto/
de las URLs de las categorías de productos en tu tienda WooCommerce sin utilizar un plugin.