Eliminar slug categoría en post específico sin afectar otras categorías

  • Autor Autor milapercia
  • Fecha de inicio Fecha de inicio
milapercia

milapercia

Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Quiero quitar el slug de categoria de los post de una categoria específica.
Ejemplo: Web/Plantas/Palmeras
Quiero que quede: Web/Palmeras

Pero ojo solo quiero eso para los post que están en la categoría plantas, las demás categorías si quiero que lleven categoría en la url.

Lo de enlaces permanentes no me vale porque se aplica a todas las categorías.
 
Puedes probar este codigo de chatgpt
PHP:
function custom_remove_category_slug($post_link, $post) {
    // Asegúrate de que estamos tratando con un post y no con otros tipos de contenido
    if ($post->post_type != 'post') {
        return $post_link;
    }

    // Obtén las categorías del post
    $categories = get_the_category($post->ID);
    if (empty($categories)) {
        return $post_link;
    }

    // Verifica si el post pertenece a la categoría "Plantas"
    foreach ($categories as $category) {
        if ($category->slug == 'plantas') {
            // Remueve la categoría "Plantas" del enlace
            $post_link = str_replace('/plantas/', '/', $post_link);
            break;
        }
    }

    return $post_link;
}
add_filter('post_link', 'custom_remove_category_slug', 10, 2);

Este código realiza lo siguiente:
  1. Verifica que el tipo de post es 'post'.
  2. Obtiene las categorías del post actual.
  3. Recorre las categorías del post y verifica si alguna tiene el slug 'plantas'.
  4. Si encuentra la categoría 'Plantas', remueve '/plantas/' de la URL del post.
Este enfoque asegura que solo se modifiquen los enlaces de los posts que pertenecen a la categoría 'Plantas', mientras que los posts de otras categorías mantendrán su estructura de URL habitual.
 
Vale, muchas gracias lo probaré.
 
Atrás
Arriba