Eliminar /categoria-producto/ Woocommerce sin pluging

Tabla de Contenidos

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.

¿Qué te ha parecido este artículo?

¡Haz clic en las estrellas para valorarlo! 👇
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas

Sé el primero en valorar este contenido ⭐

Cargando... 

Suscríbete a la Newsletter

Curso de link building