07jul
18

¿No sabes lo que es un breadcrumb?, pues sería algo así como las migajas que dejaba Pulgarcito para no perderse cuando se internaba en tierras desconocidas. Esto, aplicado a un blog sería cualquier tipo de guía de navegación que oriente al lector para que sepa en todo momento donde se encuentra.

En algunas plantillas que ya llevan esta función integrada verás que es una línea que te indica la ruta de navegación que se recorre para llegar al post en cuestión donde te encuentras, por ejemplo: “Inicio -> Archivo -> Marzo -> Mi post”

Para conseguir integrar breadcrumb en tu plantilla echaremos mano, de nuevo, de las Tags Condicionales de WordPress, útiles para casi todo. Nos valdremos de ellas para saber si el visitante está en un artículo, en una página de categorías o archivo.

Para ello tenemos que utilizar las funciones adecuadas que nos muestren la jerarquía del blog. No te preocupes que no es nada complicado, y WordPress dispone de todas las funciones necesarias para enlazar a la página principal, los artículos y las páginas de post.

El siguiente ejemplo sería una función breadcrumb limpia, que solo tienes que copiarla en el fichero functions.php de tu plantilla (y si no tiene este archivo lo creas):

// Insertar Breadcrumb
function the_breadcrumb() {
	if (!is_home()) {
		echo '<a href="';
		echo get_option('home');
	        echo '">';
		bloginfo('name');
		echo "</a> » ";
		if (is_category() || is_single()) {
			the_category('title_li=');
			if (is_single()) {
				echo " » ";
				the_title();
			}
		} elseif (is_page()) {
			echo the_title();
		}
	}
}
// fin breadcrumb

Una vez tenemos la función solo nos queda conseguir que aparezca el breadcrumb en nuestro blog. Para eso tenemos que incluir la etiqueta – la llamada – al breadcrumb en la plantilla. Buenas opciones para incluir el código serían los ficheros archive.php, single.php y page.php, pero no deja de ser una cuestión personal – incluso puedes incluirlo en index.php. Lo que tienes que incluir es este código:

<!-- Breadcrumb -->
< ?php the_breadcrumb(); ?>
<!-- Fin Breadcrumb -->

(Nota: te aconsejo ponerlo siempre antes de la llamada al post, o sea, antes de …

< ?php if(have_posts()) : ?>< ?php while(have_posts()) : the_post(); ?>

Y ya está, eso es todo. Acabas de crear un modo sencillo para que tus lectores naveguen por las secciones de tu blog.

¡Ah!, se me olvidaba. Puedes mejorar este código, por ejemplo, limitando las categorías que se mostrarán, o solo mostrando una categoría. Solo tienes que practicar con las tags condicionales. Y si, a pesar de lo sencillo que es, y de lo que te aporta como aprendizaje, prefieres usar un método mas automático, siempre puedes instalar el plugin Breadcrumb NavXT, que crea la función por ti y luego solo tienes que añadir el código en la plantilla.

Para saber más:

  • http://www.minimalnet.org MinimalNet

    Es útil, mi plantilla ya lo lleva por defecto, Justin está en todo.

  • http://fernandotellado.com/ Fernando Tellado

    Es cierto que hay algunas plantillas que ya lo llevan, y para las que no así se inserta. Es muy fácil de hacer :)

  • noshadow

    me has leido el pensamiento ;-) estaba a punto de implementar breadcrumbs con un plugin.

    En mi opinión el mayor problema de los breadcrumbs es la estética porque suelen quedar fatal a la vista.

    Si pones un breadcrumb tal que asi;

    “Inicio -> Categoria -> Mi post

    mi post

    repites dos veces el titulo en poco espacio. Si pones el breadcrumb muy pequeño pasa desapercibido y no vale para nada.

    ¿Hay alguna galeria de breadcrumbs para inspirar el diseño?

  • http://mundologia.net Carlos García

    Que tal, es muy bueno el tip, lo quise implementar en mi plantilla y no pude, quite el codigo y me comenzarón a salir errores por todos lados, a que se debe?

  • http://fernandotellado.com/ Fernando Tellado

    Carlos, lo he probado en varios blogs antes de publicarlo y no me dió errores en ninguno.

    Seguramente debiste poner o quitar algo de mas, sino no te saldrían errores al quitarlo, o al ponerlo. ¿que plantilla usas? en donde lo pusiste?

  • http://blog.kalvinman.com Kalvin Manson

    Esta vacanisimo voy a montarlo en mi blog, muy util, en themes de wordpress deberian definir si los themes incluyen esto. xD

  • http://fernandotellado.com/ Fernando Tellado

    Algunos ya lo incluyen kalvin ;)

  • Pingback: Añadiendo Breadcrumb a tu plantilla | Ayuda WordPress

  • Pingback: Añadir navegación breadcrumb de manera sencilla | Ayuda WordPress

  • gonz

    hola! a mi no me funciona bien :S
    será que esto es para versiones anteriores a la 2.8.5??

  • Anna

    A mi me funciona, però tengo pàginas con subpàginas (menú desplegable superior), i las subpáginas no llevan la información de nivel superior, sinó directamente el home

  • jobim

    {
    echo ‘ • ‘; echo bloginfo(‘name’); echo “ » “;
    if(is_category() || is_single()) { the_category(‘ » ‘, ‘single’); echo ‘ » ‘; }
    if(is_single()|| is_page()) { echo ‘ ‘; the_title(); echo “ ›”; }
    }

  • http://www.bahiastudio.net/ Diego A. Peralta

    Estoy seguro que ese get al PHPmyAdmin no va ;) Fijate que paso ahi.

  • http://geektheplanet.net Angelfire

    Una pequeña pregunta, y esta línea para qué es?:
    echo '?phpMyAdmin=3e6c4943d9a6t7c8283c">'

    No le encuentro sentido.

    • http://fernandotellado.com/ Fernando Tellado

      No lo tiene, es un error de cuando migré. Lo arreglo ;)

  • Francisco Giovanni

    Gracias, muy util!

  • Egonzalez

    porque me puede estar saliendo este icono
    ?   
    � � 
    aparece sitio � � seccion..

  • José

    Hola a todos!! Tengo una duda tengo dos categorías en el portfolio y no me las coge wordpress. ¿Sabéis alguna forma? y otra pregunta ¿Cómo se quita las migas de pan en Portada? 

    Gracias