Crear tu propia breadcrumb en WordPress

28 de /junio06 de /2023
3m 46s
wordpress
0 comentarios
176

Esta función te permite generar una breadcrumb personalizada sin depender de plugins. Es útil cuando quieres tener control total sobre la estructura, el HTML y el comportamiento según el tipo de página.

La breadcrumb que vamos a crear cubre:

Página de inicio

Categorías y posts del blog

Páginas estáticas

WooCommerce: tienda, productos y categorías de producto

La función detecta automáticamente dónde estás y construye la ruta adecuada.

Código listo para usar
Copia y pega este bloque directamente en WordPress. Está formateado con espacios y escapado para que no se rompa.

<?php

    // Insertar Breadcrumb
    function the_breadcrumb() {
        if (!is_front_page()) {
            echo '<nav aria-label="breadcrumb"><ol class="breadcrumb">';
            echo '<li class="breadcrumb-item"><a href="' . get_home_url() . '" title="Pagina principal">Inicio</a></li>';

            if (is_category() || is_single()) {
                if (is_category()) {
                    echo '<li class="breadcrumb-item"><a class="bread-cat" href="' . get_post_type_archive_link('post') . '">Blog</a></li>';
                    echo '&nbsp;/&nbsp;';
                    echo '<li class="breadcrumb-item"><span class="bread-cat">' . the_archive_title() . '</span></li>';
                }

                if (is_singular('post')) {
                    $category = get_the_category();

                    if ($category[0]) {
                        echo '<li class="breadcrumb-item"><a class="bread-cat" href="' . get_post_type_archive_link('post') . '">Blog</a></li>';
                        echo '<li class="breadcrumb-item"><a class="bread-cat" href="' . get_category_link($category[0]->term_id) . '">' . $category[0]->cat_name . '</a></li>';
                    }

                    echo '<li class="breadcrumb-item">' . get_the_title() . '</li>';
                }
            }

            if (is_product()) {
                echo '<li class="breadcrumb-item"><a class="bread-cat" href="' . get_permalink(wc_get_page_id('shop')) . '">Tienda</a></li>';
                echo '<li class="breadcrumb-item">' . get_the_title() . '</li>';
            } elseif (is_page()) {
                echo '<li class="breadcrumb-item">' . get_the_title() . '</li>';
            } elseif (is_home()) {
                echo '<li class="breadcrumb-item">Blog</li>';
            } elseif (is_shop()) {
                echo '<li class="breadcrumb-item">Tienda</li>';
            } elseif (is_product_category()) {
                echo '<li class="breadcrumb-item"><a class="bread-cat" href="' . get_permalink(wc_get_page_id('shop')) . '">Tienda</a></li>&nbsp;/ ';
                echo '<li class="breadcrumb-item">' . single_term_title('', false) . '</li>';
            }

            echo '</ol></nav>';
        }
    }

?>

Cómo funciona
Comprueba si no estás en la página de inicio.

Empieza la breadcrumb con el enlace a “Inicio”.

Según el tipo de página, añade los elementos correspondientes:

Categorías del blog

Posts individuales

Páginas estáticas

Tienda, productos y categorías de WooCommerce

Cierra la estructura HTML.

Cómo usarla
Coloca esta función en tu functions.php o en tu plugin personalizado.

Después, en tu plantilla (por ejemplo header.php o dentro del main), añade:

<?php the_breadcrumb(); ?>

Valoraciones

Sé el primero en valorar

* Tu valoración puede tardar hasta 72 horas en publicarse.

He leido y acepto el Aviso legal y condiciones de uso

Quizás te interese ...

Este sitio web utiliza cookies

Utilizamos cookies propias y de terceros para personalizar el contenido, analizar nuestros servicios, ofrecer funciones de redes sociales, analizar el tráfico y mostrarle publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de sus hábitos de navegación.

Permitir todas las cookies Configurar Política de cookies