Advertisement
designerken

x-theme + The Events Calendar Pro breadcrums integration

Jun 4th, 2015
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.22 KB | None | 0 0
  1. // Breadcrumbs
  2. // =============================================================================
  3.  
  4. if ( ! function_exists( 'x_breadcrumbs' ) ) :
  5.   function x_breadcrumbs() {
  6.  
  7.     if ( x_get_option( 'x_breadcrumb_display', '1' ) ) {
  8.  
  9.       GLOBAL $post;
  10.  
  11.       $is_ltr         = ! is_rtl();
  12.       $stack          = x_get_stack();
  13.       $delimiter      = x_get_breadcrumb_delimiter();
  14.       $home_text      = x_get_breadcrumb_home_text();
  15.       $home_link      = home_url();
  16.       $current_before = x_get_breadcrumb_current_before();
  17.       $current_after  = x_get_breadcrumb_current_after();
  18.       $page_title     = get_the_title();
  19.       $blog_title     = get_the_title( get_option( 'page_for_posts', true ) );
  20.       $tribe_events_title     = tribe_get_events_title( $depth = true); //added to get events titles in breadcrumbs KC 20150603.1554
  21.  
  22.       if ( ! is_404() ) {
  23.         $post_parent = $post->post_parent;
  24.       } else {
  25.         $post_parent = '';
  26.       }
  27.  
  28.       if ( X_WOOCOMMERCE_IS_ACTIVE ) {
  29.         $shop_url   = x_get_shop_link();
  30.         $shop_title = x_get_option( 'x_' . $stack . '_shop_title', __( 'The Shop', '__x__' ) );
  31.         $shop_link  = '<a href="'. $shop_url .'">' . $shop_title . '</a>';
  32.       }
  33.  
  34.       echo '<div class="x-breadcrumbs"><a href="' . $home_link . '">' . $home_text . '</a>' . $delimiter;
  35.  
  36.         if ( is_home() ) {
  37.  
  38.           echo $current_before . $blog_title . $current_after;
  39.  
  40.         } elseif ( is_category() ) {
  41.  
  42.           $the_cat = get_category( get_query_var( 'cat' ), false );
  43.           if ( $the_cat->parent != 0 ) echo get_category_parents( $the_cat->parent, TRUE, $delimiter );
  44.           echo $current_before . single_cat_title( '', false ) . $current_after;
  45.  
  46.         } elseif ( x_is_product_category() ) {
  47.  
  48.           if ( $is_ltr ) {
  49.             echo $shop_link . $delimiter . $current_before . single_cat_title( '', false ) . $current_after;
  50.           } else {
  51.             echo $current_before . single_cat_title( '', false ) . $current_after . $delimiter . $shop_link;
  52.           }
  53.  
  54.         } elseif ( x_is_product_tag() ) {
  55.  
  56.           if ( $is_ltr ) {
  57.             echo $shop_link . $delimiter . $current_before . single_tag_title( '', false ) . $current_after;
  58.           } else {
  59.             echo $current_before . single_tag_title( '', false ) . $current_after . $delimiter . $shop_link;
  60.           }
  61.  
  62.         } elseif ( is_search() ) {
  63.  
  64.           echo $current_before . __( 'Search Results for ', '__x__' ) . '“' . get_search_query() . '”' . $current_after;
  65.          
  66.         //  START Checking for singular tribe_event pages
  67.  
  68.        } elseif ( is_singular( 'tribe_events' ) ) {
  69.  
  70.                 echo $current_before . $page_title . $current_after;
  71.          
  72.        } elseif ( is_singular( 'tribe_venue' ) ) {
  73.  
  74.                 echo $current_before . $page_title . ' ...Checking... ' . $current_after;
  75.  
  76.        } elseif ( is_singular( 'tribe_organizer' ) ) {
  77.  
  78.                 echo $current_before . $page_title . $current_after;
  79.  
  80.         //  END Checking for singular tribe_event pages
  81.  
  82.        } elseif ( is_singular( 'post' ) ) {
  83.  
  84.           if ( get_option( 'page_for_posts' ) == is_front_page() ) {
  85.             echo $current_before . $page_title . $current_after;
  86.           } else {
  87.             if ( $is_ltr ) {
  88.               echo '<a href="' . get_permalink( get_option( 'page_for_posts' ) ) . '">' . $blog_title . '</a>' . $delimiter . $current_before . $page_title . $current_after;
  89.             } else {
  90.               echo $current_before . $page_title . $current_after . $delimiter . '<a href="' . get_permalink( get_option( 'page_for_posts' ) ) . '">' . $blog_title . '</a>';
  91.             }
  92.           }
  93.  
  94.         } elseif ( x_is_portfolio() ) {
  95.  
  96.           echo $current_before . get_the_title() . $current_after;
  97.  
  98.         } elseif ( x_is_portfolio_item() ) {
  99.  
  100.           $link  = x_get_parent_portfolio_link();
  101.           $title = x_get_parent_portfolio_title();
  102.  
  103.           if ( $is_ltr ) {
  104.             echo '<a href="' . $link . '">' . $title . '</a>' . $delimiter . $current_before . $page_title . $current_after;
  105.           } else {
  106.             echo $current_before . $page_title . $current_after . $delimiter . '<a href="' . $link . '">' . $title . '</a>';
  107.           }
  108.  
  109.         } elseif ( x_is_product() ) {
  110.  
  111.           if ( $is_ltr ) {
  112.             echo $shop_link . $delimiter . $current_before . $page_title . $current_after;
  113.           } else {
  114.             echo $current_before . $page_title . $current_after . $delimiter . $shop_link;
  115.           }
  116.  
  117.         } elseif ( x_is_buddypress() ) {
  118.  
  119.           if ( bp_is_group() ) {
  120.             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;
  121.           } elseif ( bp_is_user() ) {
  122.             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;
  123.           } else {
  124.             echo $current_before . x_buddypress_get_the_title() . $current_after;
  125.           }
  126.  
  127.         } elseif ( x_is_bbpress() ) {
  128.  
  129.           remove_filter( 'bbp_no_breadcrumb', '__return_true' );
  130.  
  131.           if ( bbp_is_forum_archive() ) {
  132.             echo $current_before . bbp_get_forum_archive_title() . $current_after;
  133.           } else {
  134.             echo bbp_get_breadcrumb();
  135.           }
  136.  
  137.           add_filter( 'bbp_no_breadcrumb', '__return_true' );
  138.  
  139.         } elseif ( is_page() && ! $post_parent ) {
  140.  
  141.           echo $current_before . $page_title . $current_after;
  142.  
  143.         } elseif ( is_page() && $post_parent ) {
  144.  
  145.           $parent_id   = $post_parent;
  146.           $breadcrumbs = array();
  147.  
  148.           if ( is_rtl() ) {
  149.             echo $current_before . $page_title . $current_after . $delimiter;
  150.           }
  151.  
  152.           while ( $parent_id ) {
  153.             $page          = get_page( $parent_id );
  154.             $breadcrumbs[] = '<a href="' . get_permalink( $page->ID ) . '">' . get_the_title( $page->ID ) . '</a>';
  155.             $parent_id     = $page->post_parent;
  156.           }
  157.  
  158.           if ( $is_ltr ) {
  159.             $breadcrumbs = array_reverse( $breadcrumbs );
  160.           }
  161.  
  162.           for ( $i = 0; $i < count( $breadcrumbs ); $i++ ) {
  163.             echo $breadcrumbs[$i];
  164.             if ( $i != count( $breadcrumbs ) -1 ) echo $delimiter;
  165.           }
  166.  
  167.           if ( $is_ltr ) {
  168.             echo $delimiter . $current_before . $page_title . $current_after;
  169.           }
  170.  
  171.         } elseif ( is_tag() ) {
  172.  
  173.           echo $current_before . single_tag_title( '', false ) . $current_after;
  174.  
  175.         } elseif ( is_author() ) {
  176.  
  177.           GLOBAL $author;
  178.           $userdata = get_userdata( $author );
  179.           echo $current_before . __( 'Posts by ', '__x__' ) . '“' . $userdata->display_name . $current_after . '”';
  180.  
  181.         } elseif ( is_404() ) {
  182.  
  183.           echo $current_before . __( '404 (Page Not Found)', '__x__' ) . $current_after;
  184.  
  185.         } elseif ( is_archive() ) {
  186.  
  187.             if ( x_is_shop() ) {    
  188.             echo $current_before . $shop_title . $current_after;  
  189.          
  190.             } elseif ( tribe_is_past() || tribe_is_upcoming() && is_tax() ) { // List View Category Page
  191.  
  192.                 echo $current_before . tribe_get_events_title( ) . $current_after;
  193.                
  194.             } elseif ( tribe_is_month() && is_tax() ) { // Month View Category Page
  195.  
  196.                 echo $current_before . tribe_get_events_title( ) . $current_after;
  197.  
  198.             } elseif ( tribe_is_week() && is_tax() ) { // Week View Category Page
  199.  
  200.                 echo $current_before . tribe_get_events_title( ) . $current_after;
  201.  
  202.             } elseif ( tribe_is_day() && is_tax() ) { // Day View Category Page
  203.  
  204.                 echo $current_before . tribe_get_events_title( ) . $current_after;
  205.  
  206.             } elseif ( tribe_is_map() && is_tax() ) { // Map View Category Page
  207.  
  208.                 echo $current_before . tribe_get_events_title( ) . $current_after;
  209.  
  210.             } elseif ( tribe_is_photo() && is_tax() ) { // Photo View Category Page
  211.  
  212.                 echo $current_before . tribe_get_events_title( ) . $current_after;
  213.  
  214.           } else {
  215.  
  216.             echo $current_before . __( 'Archives ', '__x__' ) . $current_after;
  217.  
  218.           }
  219.  
  220.         } elseif ( tribe_is_month() && !is_tax() ) { // Month View Page
  221.        
  222.             echo $current_before . $tribe_events_title . $current_after;
  223.  
  224.         } elseif ( tribe_is_past() || tribe_is_upcoming() && !is_tax() ) { // List View Page
  225.  
  226.             echo $current_before . $tribe_events_title . $current_after;
  227.  
  228.         } elseif ( tribe_is_week() && !is_tax() ) { // Week View Page
  229.  
  230.             echo $current_before . 'were the week view page' . $current_after;
  231.  
  232.         } elseif ( tribe_is_day() && !is_tax() ) { // Day View Page
  233.  
  234.             echo $current_before . $tribe_events_title . $current_after;
  235.  
  236.         } elseif ( tribe_is_map() && !is_tax() ) { // Map View Page
  237.  
  238.             echo $current_before . 'were on the map view page' . $current_after;
  239.  
  240.         } elseif ( tribe_is_photo() && !is_tax() ) { // Photo View Page
  241.  
  242.             echo $current_before . 'were on the photo view page' . $current_after;
  243.  
  244.         }
  245.  
  246.       echo '</div>';
  247.  
  248.     }
  249.  
  250.   }
  251. endif;
  252.  
  253. // End Breadcrumbs
  254. // =============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement