Advertisement
Guest User

Untitled

a guest
Oct 26th, 2014
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.72 KB | None | 0 0
  1. function x_breadcrumbs() {
  2.  
  3. if ( x_get_option( 'x_breadcrumb_display', '1' ) ) {
  4.  
  5. GLOBAL $post;
  6.  
  7. $is_ltr = ! is_rtl();
  8. $stack = x_get_stack();
  9. $delimiter = x_get_breadcrumb_delimiter();
  10. $home_text = x_get_breadcrumb_home_text();
  11. $home_link = home_url();
  12. $current_before = x_get_breadcrumb_current_before();
  13. $current_after = x_get_breadcrumb_current_after();
  14. $page_title = get_the_title();
  15. $blog_title = get_the_title( get_option( 'page_for_posts', true ) );
  16. $post_parent = $post->post_parent;
  17.  
  18. if ( X_WOOCOMMERCE_IS_ACTIVE ) {
  19. $shop_url = x_get_shop_link();
  20. $shop_title = x_get_option( 'x_' . $stack . '_shop_title', __( 'The Shop', '__x__' ) );
  21. $shop_link = '<a href="'. $shop_url .'">' . $shop_title . '</a>';
  22. }
  23.  
  24. echo '<div class="x-breadcrumbs"><a href="' . $home_link . '">' . $home_text . '</a>' . $delimiter;
  25.  
  26. if ( is_home() ) {
  27.  
  28. echo $current_before . $blog_title . $current_after;
  29.  
  30. } elseif ( is_category() ) {
  31.  
  32. $the_cat = get_category( get_query_var( 'cat' ), false );
  33. if ( $the_cat->parent != 0 ) echo get_category_parents( $the_cat->parent, TRUE, $delimiter );
  34. echo $current_before . single_cat_title( '', false ) . $current_after;
  35.  
  36. } elseif ( x_is_product_category() ) {
  37.  
  38. if ( $is_ltr ) {
  39. echo $shop_link . $delimiter . $current_before . single_cat_title( '', false ) . $current_after;
  40. } else {
  41. echo $current_before . single_cat_title( '', false ) . $current_after . $delimiter . $shop_link;
  42. }
  43.  
  44. } elseif ( x_is_product_tag() ) {
  45.  
  46. if ( $is_ltr ) {
  47. echo $shop_link . $delimiter . $current_before . single_tag_title( '', false ) . $current_after;
  48. } else {
  49. echo $current_before . single_tag_title( '', false ) . $current_after . $delimiter . $shop_link;
  50. }
  51.  
  52. } elseif ( is_search() ) {
  53.  
  54. echo $current_before . __( 'Search Results for ', '__x__' ) . '&#8220;' . get_search_query() . '&#8221;' . $current_after;
  55.  
  56. } elseif ( is_singular( 'post' ) ) {
  57.  
  58. if ( get_option( 'page_for_posts' ) == is_front_page() ) {
  59. echo $current_before . $page_title . $current_after;
  60. } else {
  61. if ( $is_ltr ) {
  62. echo '<a href="' . get_permalink( get_option( 'page_for_posts' ) ) . '">' . $blog_title . '</a>' . $delimiter . $current_before . $page_title . $current_after;
  63. } else {
  64. echo $current_before . $page_title . $current_after . $delimiter . '<a href="' . get_permalink( get_option( 'page_for_posts' ) ) . '">' . $blog_title . '</a>';
  65. }
  66. }
  67.  
  68. } elseif ( x_is_portfolio() ) {
  69.  
  70. echo $current_before . get_the_title() . $current_after;
  71.  
  72. } elseif ( x_is_portfolio_item() ) {
  73.  
  74. $link = x_get_parent_portfolio_link();
  75. $title = x_get_parent_portfolio_title();
  76.  
  77. if ( $is_ltr ) {
  78. echo '<a href="' . $link . '">' . $title . '</a>' . $delimiter . $current_before . $page_title . $current_after;
  79. } else {
  80. echo $current_before . $page_title . $current_after . $delimiter . '<a href="' . $link . '">' . $title . '</a>';
  81. }
  82.  
  83. } elseif ( x_is_product() ) {
  84.  
  85. if ( $is_ltr ) {
  86. echo $shop_link . $delimiter . $current_before . $page_title . $current_after;
  87. } else {
  88. echo $current_before . $page_title . $current_after . $delimiter . $shop_link;
  89. }
  90.  
  91. } elseif ( x_is_buddypress() ) {
  92.  
  93. if ( bp_is_group() ) {
  94. echo '<a href="' . bp_get_groups_directory_permalink() . '">' . x_get_option( 'x_buddypress_groups_title', __( 'Groups', '__x__' ) ) . '</a>' . $delimiter . $current_before . x_buddypress_get_the_title() . $current_after;
  95. } elseif ( bp_is_user() ) {
  96. echo '<a href="' . bp_get_members_directory_permalink() . '">' . x_get_option( 'x_buddypress_members_title', __( 'Members', '__x__' ) ) . '</a>' . $delimiter . $current_before . x_buddypress_get_the_title() . $current_after;
  97. } else {
  98. echo $current_before . x_buddypress_get_the_title() . $current_after;
  99. }
  100.  
  101. } elseif ( x_is_bbpress() ) {
  102.  
  103. remove_filter( 'bbp_no_breadcrumb', '__return_true' );
  104.  
  105. if ( bbp_is_forum_archive() ) {
  106. echo $current_before . bbp_get_forum_archive_title() . $current_after;
  107. } else {
  108. echo bbp_get_breadcrumb();
  109. }
  110.  
  111. add_filter( 'bbp_no_breadcrumb', '__return_true' );
  112.  
  113. } elseif ( is_page() && ! $post_parent ) {
  114.  
  115. echo $current_before . $page_title . $current_after;
  116.  
  117. } elseif ( is_page() && $post_parent ) {
  118.  
  119. $parent_id = $post_parent;
  120. $breadcrumbs = array();
  121.  
  122. if ( is_rtl() ) {
  123. echo $current_before . $page_title . $current_after . $delimiter;
  124. }
  125.  
  126. while ( $parent_id ) {
  127. $page = get_page( $parent_id );
  128. $breadcrumbs[] = '<a href="' . get_permalink( $page->ID ) . '">' . get_the_title( $page->ID ) . '</a>';
  129. $parent_id = $page->post_parent;
  130. }
  131.  
  132. if ( $is_ltr ) {
  133. $breadcrumbs = array_reverse( $breadcrumbs );
  134. }
  135.  
  136. for ( $i = 0; $i < count( $breadcrumbs ); $i++ ) {
  137. echo $breadcrumbs[$i];
  138. if ( $i != count( $breadcrumbs ) -1 ) echo $delimiter;
  139. }
  140.  
  141. if ( $is_ltr ) {
  142. echo $delimiter . $current_before . $page_title . $current_after;
  143. }
  144.  
  145. } elseif ( is_tag() ) {
  146.  
  147. echo $current_before . single_tag_title( '', false ) . $current_after;
  148.  
  149. } elseif ( is_author() ) {
  150.  
  151. GLOBAL $author;
  152. $userdata = get_userdata( $author );
  153. echo $current_before . __( 'Posts by ', '__x__' ) . '&#8220;' . $userdata->display_name . $current_after . '&#8221;';
  154.  
  155. } elseif ( is_404() ) {
  156.  
  157. echo $current_before . __( '404 (Page Not Found)', '__x__' ) . $current_after;
  158.  
  159. } elseif ( is_archive() ) {
  160.  
  161. if ( x_is_shop() ) {
  162. echo $current_before . $shop_title . $current_after;
  163. } else {
  164. if( is_post_type_archive( 'course' ) )
  165. echo $current_before . __( 'Courses ', '__x__' ) . $current_after;
  166. else
  167. echo $current_before . __( 'Archives ', '__x__' ) . $current_after;
  168. }
  169.  
  170. } elseif( is_single() ){
  171. echo get_the_title();
  172. }
  173.  
  174. echo '</div>';
  175.  
  176. }
  177.  
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement