Breadcrumb com menu

Já tinha colocado em um outro post, Como fazer um Breadcrumb. Outro dias me deparei com outro problema. Como colocar o breadcrumb contendo links externos, pages e categories?

Converter todas as letra em minúsculas (Ok, eu sei que existe o strtolower e que ele já faz esse papel, mas vamos evitar de dar cáca)

<?php
	function todas_minusculas($palavra){
		$minuscula_acentuado = array('â','ã','á','à','ê','é','è','í','ì','ô','õ','ó','ò','ú','ù','û','ç');
		$maiusucla_acentuado = array('Â','Ã','Á','À','Ê','É','È','Í','Ì','Ô','Õ','Ó','Ò','Ú','Ù','Û','Ç');
		$maiuscula = array('Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M');
		$minuscula = array('q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m');

		$resultado = str_replace($maiusucla_acentuado,$minuscula_acentuado,$palavra);
		$resultado = str_replace($maiuscula,$minuscula,$resultado);
		return $resultado;
	}
?>

A função do breadcrumb:

<?php
	function breadcrumb(){
		$locations 	= get_nav_menu_locations();
		$menu 		= wp_get_nav_menu_object( $locations[ 'primary' ] );
		$menu_items = wp_get_nav_menu_items($menu->term_id);
		
		$cont2 = $cont3 = $cont4 = 0;
		foreach ( (array) $menu_items as $key => $menu_item ) {
			if($menu_item->menu_item_parent == 0){
				$menu2['ID'][$cont2]	= $menu_item->ID;
				$menu2['title'][$cont2] = $menu_item->title;
				$menu2['url'][$cont2]	= $menu_item->url;
				$cont2++;
			}else{
				if(array_search((int)$menu_item->menu_item_parent, $menu2['ID']) !== FALSE){		
					$menu3['id_pai'][$cont3]	= $menu_item->ID;
					$menu3['title_pai'][$cont3]	= $menu_item->title;
					$menu3['url_pai'][$cont3]	= $menu_item->url;
					$menu3['id_avo'][$cont3] 	= $menu2['ID'][array_search($menu_item->menu_item_parent, $menu2['ID'])];
					$menu3['title_avo'][$cont3] = $menu2['title'][array_search($menu_item->menu_item_parent, $menu2['ID'])];
					$menu3['url_avo'][$cont3] 	= $menu2['url'][array_search($menu_item->menu_item_parent, $menu2['ID'])];
					$cont3++;
				}else{
					if(array_search((int)$menu_item->menu_item_parent, $menu3['id_pai']) !== FALSE){		
						$menu4['id_filho'][$cont4]		= $menu_item->ID;					
						$menu4['title_filho'][$cont4]	= $menu_item->title;
						$menu4['url_filho'][$cont4]		= $menu_item->url;		
						$menu4['id_pai'][$cont4]		= $menu3['id_pai'][array_search($menu_item->menu_item_parent, $menu3['id_pai'])];	
						$menu4['title_pai'][$cont4]		= $menu3['title_pai'][array_search($menu_item->menu_item_parent, $menu3['id_pai'])];	
						$menu4['url_pai'][$cont4]		= $menu3['url_pai'][array_search($menu_item->menu_item_parent, $menu3['id_pai'])];	
						$menu4['id_avo'][$cont4]		= $menu3['id_avo'][array_search($menu_item->menu_item_parent, $menu3['id_pai'])];	
						$menu4['title_avo'][$cont4]		= $menu3['title_avo'][array_search($menu_item->menu_item_parent, $menu3['id_pai'])];	
						$menu4['url_avo'][$cont4]		= $menu3['url_avo'][array_search($menu_item->menu_item_parent, $menu3['id_pai'])];	
						$cont4++;						
					}
				}
			}
		}	
		
		# title_avó >> title_pai >> title_filho
		
		$title = str_replace("-"," ",get_query_var('pagename'));
		if(empty($title)){
			$title = single_cat_title(',',false);
			if(empty($title)){
				$title = get_the_title();
			}
		}
		
		foreach($menu3['title_pai'] as $indice => $m){
			echo todas_minusculas(trim($m)).' - '.todas_minusculas($title)."<br/>";
			if(todas_minusculas(trim($m)) == todas_minusculas($title)){
				echo 1;
				$title_pai 	= $menu3['title_pai'][$indice];
				$url_pai	= $menu3['url_pai'][$indice];	
				$title_avo 	= $menu3['title_avo'][$indice];
				$url_avo	= $menu3['url_avo'][$indice];	
				$title_filho = "";
				break;
			}
		}
		
		foreach($menu4['title_filho'] as $indice2 => $m2){
			if(todas_minusculas(trim($m2)) == $title){
				$title_filho 	= $menu4['title_filho'][$indice2];
				$title_pai 	= $menu4['title_pai'][$indice2];
				$url_pai	 	= $menu4['url_pai'][$indice2];	
				$title_avo 	= $menu4['title_avo'][$indice2];
				$url_avo	 	= $menu4['url_avo'][$indice2];		
				break;
			}
		}
	?>
		<ul class="breadcrumb">
			<li><a href="<?php bloginfo("template_url");?>" class="ico-home">Inicial</a></li>
		<?php	
			if(!empty($title_avo)){	
				echo '<li><a href="'.$url_avo.'" title="'.$title_avo.'">'.$title_avo.'</a></li>';
			}
			if(!empty($title_pai) and empty($title_filho)){
				echo '<li>'.$title_pai.'</li>';
			}		
			if(!empty($title_pai) and !empty($title_filho)){
				echo '<li><a href="'.$url_pai.'" title="'.$title_pai.'">'.$title_pai.'</a></li>';
				echo '<li><a href="'.$url_filho.'" title="'.$title_filho.'">'.$title_filho.'</a></li>';
			}		
		?>
		</ul>
		<?php
	}
?>

Ambas as funções eu coloquei no functions.php

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s