RtThemesSupport

rt15-rt-breadcrumbs.php

Sep 5th, 2013
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 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. echo $before;
  17.  
  18. //Home Page
  19. echo "<a href=\"". BLOGURL ."\" title=\"". get_bloginfo('name')."\">".__( 'Home', 'rt_theme' )."</a>";
  20.  
  21. // page parents function
  22. function page_parents($parent_page_id,$child_pages){
  23. global $delimiter;
  24. $homepagepost_id = get_option( 'page_on_front');
  25. $parent_page = get_page($parent_page_id);
  26. if ($homepagepost_id!=$parent_page_id) {
  27. $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;
  28. }
  29.  
  30. if ($parent_page->post_parent) page_parents($parent_page->post_parent,$page_parents);
  31.  
  32. else echo $page_parents;
  33.  
  34. }
  35.  
  36.  
  37. // term parents function
  38. function term_parents($term_id,$child_terms){
  39. global $taxonomy,$delimiter;
  40.  
  41. $parent_term = get_term_by('ID',$term_id, $taxonomy);
  42. $term_parents = $delimiter."<a href=\"".get_term_link($parent_term->slug,$taxonomy)."\" title=\"". $parent_term->name ."\" >". $parent_term->name ."</a>" .$child_terms;
  43.  
  44. if ($parent_term->parent) term_parents($parent_term -> parent,$term_parents);
  45.  
  46. else echo $term_parents;
  47.  
  48. }
  49.  
  50. //get start page
  51. function get_start_page($start_page){
  52. global $delimiter;
  53.  
  54. //start page parents
  55. $get_start_page=get_page($start_page);
  56. if ($get_start_page -> post_parent){
  57. page_parents( $get_start_page -> post_parent,'');
  58. }
  59.  
  60. //start page
  61. if ($start_page && !get_query_var('lang')) {
  62. echo $delimiter."<a href=\"".get_permalink($start_page)."\" title=\"". get_the_title($start_page) ."\" >". get_the_title($start_page) ."</a>";
  63. }
  64. }
  65.  
  66. //terms
  67. function term_links(){
  68. global $taxonomy,$post_type,$term_slug,$delimiter;
  69.  
  70. //Find start page and define taxonomy names
  71. if($taxonomy=="product_categories"){
  72. $start_page=get_option('rttheme_product_list');
  73. }elseif($taxonomy=="portfolio_categories"){
  74. $start_page=get_option('rttheme_portf_page');
  75. }
  76.  
  77. //get start page
  78. if ($start_page) get_start_page($start_page);
  79.  
  80.  
  81. $term=get_term_by('slug',$term_slug, $taxonomy);
  82.  
  83. //parent terms
  84. if (is_object($term) && $term -> parent){
  85. echo term_parents($term -> parent,'');
  86. }
  87.  
  88. //current term
  89. if(is_object($term) && $term->slug) echo $delimiter."<a href=\"".get_term_link($term->slug,$taxonomy)."\" title=\"". $term->name ."\" >". $term->name ."</a>";
  90. }
  91.  
  92.  
  93.  
  94. //Pages
  95. if ( is_page() ){
  96. //parent pages
  97. if ($post -> post_parent){
  98. page_parents( $post -> post_parent,'');
  99. }
  100.  
  101. //current page
  102. echo $delimiter ."". $post->post_title;
  103. }
  104.  
  105. //Single
  106. elseif (is_single() && !is_attachment()){
  107. // Get post type
  108. $post_type = get_post_type();
  109.  
  110. //Taxonomies
  111. if($post_type == 'products' || $post_type == 'portfolio'){
  112.  
  113. term_links();
  114. //current page
  115. echo $delimiter."<a href=\"".get_permalink()."\" title=\"". get_the_title() ."\" >". get_the_title() ."</a>";
  116.  
  117. }else{
  118. //Categories
  119.  
  120. //start page
  121. $start_page=get_option('rttheme_blog_page');
  122.  
  123. //get start page
  124. if ($start_page) get_start_page($start_page);
  125.  
  126. $category_id = get_the_category();
  127. $category_id = $category_id[0]->cat_ID;//only one category can be show in the list - the first one
  128. echo $delimiter;
  129. if($category_id){
  130. echo get_category_parents($category_id, TRUE, $delimiter, FALSE );
  131. }
  132. echo $post->post_title;
  133. }
  134.  
  135. //Category
  136. }elseif (is_category()){
  137. //start page
  138. $start_page=get_option('rttheme_blog_page');
  139.  
  140. //get start page
  141. if ($start_page) get_start_page($start_page);
  142.  
  143. echo $delimiter."".get_category_parents(get_query_var('cat'), TRUE, $delimiter, FALSE);
  144.  
  145. //Taxonomy
  146. }elseif (is_tax()){
  147. term_links();
  148. } else {
  149. echo $delimiter."";
  150. wp_title('');
  151. }
  152.  
  153. echo $after;
  154.  
  155. wp_reset_query();
  156. }
  157. ?>
Advertisement
Add Comment
Please, Sign In to add comment