Enfim, publiquei mais um plugin. Adicione links de navegação estruturada para todas as páginas no WordPress. Este plugin é compatível com taxonomies hierárquicas. Aproveite =)

Full Breadcrumb

Exibe links de navegação estruturada em páginas, posts, custom posts, categorias, taxonomies, tags, autores, anexos e arquivos.

Compatibilidade

  • Compatível com WordPress 2.8+

Instalação

Baixe o plugin no GitHub ou no repositório do WordPress.

Descompacte os arquivos, faça o upload da pasta em /wp-content/plugins/ e ative o plugin.

Utilização

Coloque o seguinte código no seu tema e pronto!

Ou, para pegar os links:

Customizações

Básica

Avançada

Tradução para Português

Quer copiar esse post no seu site? Você pode!

Segundo a licença da Creative Commons 3.0 (CC BY SA 3.0) você pode copiar e distribuir esse conteúdo desde que faça menção ao autor original, para isso é só copiar esse código no final do artigo quando for publicá-lo em seu site:

<p>Artigo originalmente publicado em <em>26 de agosto de 2012</em> por <strong><a href="http://pedroelsner.com/" title="Pedro Elsner, Profissional de TI - São Paulo">Pedro Elsner</a></strong>: <a href="http://pedroelsner.com/2012/08/navegacao-estruturada-com-full-breadcrumb-no-wordpress/" title="Navegação Estruturada com Full Breadcrumb no WordPress">Navegação Estruturada com Full Breadcrumb no WordPress</a></p>
A não menção ao autor original da obra implicará em cópia e/ou distribuição ilegal de propriedade intelectual, o que é crime segundo a Lei n.º 9.610.
  • Olá Pedro. Tudo bem? Parabéns pelo plugin. Estou usando no meu projeto e está funcionando muito bem. Um único detalhe que estou com dificuldades, é o seguinte: Vamos supor que tenho um post e este está em 3 categorias, no breadcrumb, aparece as 3 categorias em seguida, sendo que gostaria que apenas uma aparecece. Existe alguma possibilidade de eu setar categoria que eu não quero que apareça no bread? Algo do tipo:

    ‘category’ => array(
                ‘destaque-capa’    => false,
                ‘em-destaque’ => false
            )

    Desculpe… não sou programador devo ter escrito uma besteira acima (rsrs), mas seria algo que pudéssemos esconder as categorias que são usadas apenas para redirecionar a notícia.

    Obrigado (pela atenção e o excelente plugin) e desculpe te atrapalhar.

    Abs

    Cadu

  • Beleza Carlos?
    Geralmente essa rotina é utilizada no header, ou seja, uma única chamada para todas as páginas. Infelizmente não vejo essa possíbilidade, uma vez que escluiria a exibição da categoria para todas as páginas…

  • Olá,

    muito bacana seu plug in, mais queria saber se pode em dar uma ajudar, uma simples troca de posições …/category/taxonomy…. pra …/taxonomy/category….

    Abraço

  • Você pode alterar a ordem diretamente no fonte do plugin.
    O plugin todo é um arquivinho só. É bem tranquilo =)

  • Blza vou tentar aqui 😉 vlw !

    Abraço.

  • gilvancn

    Olá Pedro,

    Tenho uma dúvida simples (eu acho, rsrs), é porque não entendo quase nada de php, daí não sei onde incluir.
    Tem como colocar um separador entre as categorias?
    Ex: Home › Categoria 1 › Categoria 2 › Titulo do Post

    Muito obrigado cara, abraço!

  • gilvancn

    Também queria colocar rel=”nofollow” nos links. Você acha que deixar sem o rel=”nofollow” pode interferir negativamente em seo ou não?

  • @gilvancn:disqus o plugin não entende as categorias com hierarquia, mas sim como “tags”, então infelizmente não há como =(

  • Acredito que não. Apenas certifique-se que todos os links não sejam um erro 404 =)

  • gilvancn

    Muito obrigado pelas explicações amigo e parabéns pelo trabalho!

  • Alex

    How to add the text domain directly in a plug-in?

    protected $_options = array(
    ‘type’ => ‘string’,
    ‘labels’ => array(
    ‘local’ => __( ‘You are here:’, ‘lang’ ),
    ‘home’ => __( ‘Home’, ‘lang’ ),
    ‘page’ => __( ‘Page’, ‘lang’ ),
    ‘tag’ => __( ‘Tag’, ‘lang’ ),
    ‘search’ => __( ‘Searching for’, ‘lang’ ),
    ‘author’ => __( ‘Published by’, ‘lang’ ),
    ‘404’ => __( ‘Error 404 / Page not found’, ‘lang’ )
    ),

    To include the big piece of the code that you offer in = Advanced Customization = in each page file of a template it seems to me not so correctly…

    Or maybe you suggest how to add this code directly in a functions.php of a template?

  • Alex, add this code into your header.php, this way, the breadcrumb will be show in every pages.
    What do you mean by “text domain”?

  • Alex

    I mean “text domain” as function of load_theme_textdomain

    I added the missing piece of code:

    “} elseif ( is_month() ) {

    $this->_month();”

    between:

    “} elseif ( is_day() ) {”

    and

    “} elseif ( is_year() ) {”

    And yet there is no clickable link to the parent page in custom post type, for example:

    You are here: Home / Portfolios / Portfolio Category / Single Portfolio Item /

    “Portfolios” – no clickable link