quinta-feira, 3 de maio de 2012

Função para BreadCrumbs Wordpress

Tive que modificar os Breadcrumbs, de um plugin wiki que instalei aqui em minha aplicação wordpress,
então pesquisei, e achei algumas funções e plugins de breadcrumbs, porem precisava de uma função que poderia ser chamada de uma pagina ou outra, e que mostrasse todas as paginas mães relacionadas ao post,

achei esta que mostra todo o caminho, até a home, você coloca dentro do arquivo functions do seu tema, e chama ela nas paginas onde for necessario

function wsf_make_link ( $url, $anchortext, $title=null, $nofollow=false ) {  

   if ( $title == null ) $title=$anchortext;  
   $nofollow==true ? $rel=' rel="nofollow"' : $rel = '';   
  
   $link = sprintf( '<a class="incsub_wiki_crumbs" href="%s" title="%s" %s="">%s</a>', $url, $title, $rel, $anchortext );  
   return $link;  
}

function wsf_breadcrumbs( $sep = '/') {
 
    global $post;
 
   // Do not show breadcrumbs on home or front pages.
   // So we will just return quickly
   if((is_home() || is_front_page()) && (!$front_page))
      return;
 
    // Create a constant for the separator, with space padding.
    $SEP = ' ' . $sep . ' ';
 
  echo '
<div class="breadcrumbs">';
  $wiki_home = "http://ema.net.br/emawiki/";
  echo wsf_make_link( get_bloginfo('url'), 'Home', get_bloginfo('name'), true ) . $SEP;

  if(is_single()) {
    the_category(', '); echo $SEP;
    }
    elseif(is_page()) {
            $parent_id = $post->post_parent;
            $parents = array();
            while($parent_id) {
                $page = get_page($parent_id);
            $parents[]  = wsf_make_link( get_permalink($page->ID), get_the_title($page->ID) ) . $SEP;
                $parent_id  = $page->post_parent;
            }
            $parents = array_reverse($parents);
            foreach($parents as $parent) {
                echo $parent;
            }
   }
   // Wordpess function that echoes your post title.
   the_title();
     echo '</div>

';



até a próxima.

Nenhum comentário:

Postar um comentário