RtThemesSupport

RTTheme 17 Revised Breadcrumbs.php to not link last item

Mar 16th, 2014
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.01 KB | None | 0 0
  1. <?php
  2.  
  3. /* RT-Breadcrumb Function */
  4. function rt_breadcrumb(){
  5.     global $taxonomy,$term_slug,$post,$delimiter;
  6.  
  7.     if(!get_option('rttheme_breadcrumb_menus')){
  8.         return false;
  9.     }
  10.    
  11.     //Markup
  12.     $before='<div class="breadcrumb">'.wpml_t(THEMESLUG, 'Breadcrumb Menu Text', get_option(THEMESLUG.'_breadcrumb_text')).' ';
  13.     $after='</div>';
  14.     $delimiter=' | ';
  15.  
  16.     /*  WooCommerce Breadcrumb */
  17.     if ( function_exists( 'woocommerce_breadcrumb' ) ) {
  18.         if( is_woocommerce() ){
  19.             $defaults = array(
  20.                 'delimiter'  => $delimiter,
  21.                 'wrap_before'  => $before,
  22.                 'wrap_after' => $after,
  23.                 'before'   => '',
  24.                 'after'   => '',
  25.                 'home'    => null
  26.             );
  27.    
  28.             woocommerce_breadcrumb($defaults);
  29.             return false;
  30.         }
  31.     }
  32.  
  33.    
  34.     echo $before;
  35.    
  36.     //Home Page
  37.     echo "<a href=\"". BLOGURL ."\" title=\"". get_bloginfo('name')."\">".__( 'Home', 'rt_theme' )."</a>";
  38.  
  39.     // page parents function
  40.     function page_parents($parent_page_id,$child_pages){
  41.         global $delimiter;
  42.  
  43.         $parent_page = get_page($parent_page_id);
  44.         $page_parents = $delimiter."<a href=\"".get_permalink($parent_page->ID)."\" title=\"". get_the_title($parent_page->ID) ."\" >". get_the_title($parent_page->ID) ."</a>" .$child_pages;
  45.  
  46.         if ($parent_page->post_parent) page_parents($parent_page->post_parent,$page_parents);
  47.        
  48.         else echo $page_parents;
  49.  
  50.     }
  51.    
  52.    
  53.     // term parents function
  54.     function term_parents($term_id,$child_terms){
  55.         global $taxonomy,$delimiter;
  56.  
  57.         $parent_term = get_term_by('ID',$term_id, $taxonomy);
  58.         $term_parents = $delimiter."<a href=\"".get_term_link($parent_term->slug,$taxonomy)."\" title=\"". $parent_term->name ."\" >". $parent_term->name ."</a>" .$child_terms;
  59.        
  60.         if ($parent_term->parent) term_parents($parent_term -> parent,$term_parents);
  61.        
  62.         else echo $term_parents;
  63.    
  64.     }
  65.  
  66.     //get start page
  67.     function get_start_page($start_page){
  68.         global $delimiter;
  69.        
  70.         //start page parents
  71.         $get_start_page=get_page($start_page);
  72.         if ($get_start_page -> post_parent){
  73.             page_parents( $get_start_page -> post_parent,'');
  74.         }
  75.        
  76.         //start page
  77.         if ($start_page && !get_query_var('lang')) {
  78.             echo  $delimiter."<a href=\"".get_permalink($start_page)."\" title=\"". get_the_title($start_page) ."\" >". get_the_title($start_page) ."</a>";
  79.         }
  80.     }
  81.  
  82.     //terms
  83.     function term_links(){
  84.         global $taxonomy,$post_type,$term_slug,$delimiter;
  85.        
  86.         //Find start page and define taxonomy names
  87.         if($taxonomy=="product_categories"){
  88.             $start_page=get_option('rttheme_product_list');
  89.         }elseif($taxonomy=="portfolio_categories"){
  90.             $start_page=get_option('rttheme_portf_page');
  91.         }  
  92.        
  93.         //get start page
  94.         if ($start_page) get_start_page($start_page);
  95.  
  96.  
  97.         $term=get_term_by('slug',$term_slug, $taxonomy);
  98.        
  99.         //parent terms
  100.         if (is_object($term) && $term -> parent){
  101.             echo term_parents($term -> parent,'');   
  102.         }
  103.        
  104.         $post_type = get_post_type();
  105.         //current term
  106.         if(is_object($term) && $term->slug) {
  107.         if($post_type == 'products'  && is_archive() && !is_single()|| $post_type == 'portfolio' && is_archive() && !is_single()){
  108.         echo  $delimiter.  $term->name ;
  109.         }
  110.         else {
  111.             echo  $delimiter."<a href=\"".get_term_link($term->slug,$taxonomy)."\" title=\"". $term->name ."\" >". $term->name ."</a>";
  112.             }
  113.         }
  114.     }
  115.    
  116.  
  117.    
  118.     //Pages
  119.     if ( is_page() ){
  120.         //parent pages
  121.         if ($post -> post_parent){
  122.             page_parents( $post -> post_parent,'');
  123.         }
  124.          
  125.         //current page
  126.         echo  $delimiter ."". $post->post_title;
  127.     }
  128.    
  129.     //Single
  130.     elseif (is_single() && !is_attachment()){
  131.         // Get post type
  132.         $post_type = get_post_type();
  133.  
  134.         //Taxonomies
  135.         if($post_type == 'products' || $post_type == 'portfolio'){
  136.    
  137.             term_links();
  138.             //current page
  139.             echo  $delimiter. get_the_title();
  140.             //$delimiter."<a href=\"".get_permalink()."\" title=\"". get_the_title() ."\" >". get_the_title() ."</a>";
  141.            
  142.         }else{
  143.         //Categories
  144.        
  145.         //start page
  146.         $start_page=get_option('rttheme_blog_page');
  147.        
  148.         //get start page
  149.         if ($start_page) get_start_page($start_page);
  150.        
  151.             $category_id = get_the_category();
  152.             $category_id = $category_id[0]->cat_ID;//only one category can be show in the list  - the first one
  153.             echo $delimiter;
  154.             if($category_id){
  155.                 echo get_category_parents($category_id, TRUE, $delimiter, FALSE );
  156.             }
  157.             echo $post->post_title;
  158.         }
  159.  
  160.     //Category
  161.     }elseif (is_category()){
  162.         //start page
  163.         $start_page=get_option('rttheme_blog_page');
  164.        
  165.         //get start page
  166.         if ($start_page) get_start_page($start_page);
  167.            
  168.             //echo $delimiter."".get_category_parents(get_query_var('cat'), TRUE, $delimiter, FALSE);
  169.             $category_id = get_category(get_query_var('cat'));
  170.             $parent_id = $category_id->parent;
  171.             if (!$parent_id==0) {
  172.               echo $delimiter."".get_category_parents($parent_id, TRUE, $delimiter, FALSE );
  173.               echo single_cat_title();
  174.              }
  175.              else  {
  176.                 echo $delimiter;
  177.                 echo single_cat_title();
  178.                 }
  179.  
  180.        
  181.     //Taxonomy
  182.     }elseif (is_tax()){
  183.         term_links();
  184.     } else {
  185.         echo  $delimiter."";
  186.         wp_title('');
  187.     }
  188.    
  189.     echo $after;
  190.    
  191.     wp_reset_query();
  192. }
  193. ?>
Advertisement
Add Comment
Please, Sign In to add comment