PluginProbe
MyBookTable Bookstore by Stormhill Media / trunk
MyBookTable Bookstore by Stormhill Media vtrunk
3.6.5 trunk
mybooktable / includes / extras / breadcrumbs.php

breadcrumbs.php in MyBookTable Bookstore by Stormhill Media trunk, at includes/extras/breadcrumbs.php

52 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
3
4 function mbt_breadcrumbs_init() {
5 add_action('mbt_before_single_book', 'mbt_do_page_breadcrumbs', 20);
6 add_action('mbt_before_book_archive', 'mbt_do_page_breadcrumbs', 20);
7 add_filter('woo_breadcrumbs_trail', 'mbt_integrate_woo_breadcrumbs');
8 add_filter('genesis_page_crumb', 'mbt_integrate_genesis_breadcrumb_archive', 20, 2);
9 }
10 add_action('mbt_init', 'mbt_breadcrumbs_init');
11
12 function mbt_integrate_woo_breadcrumbs($trail) {
13 global $mbt_archive_query;
14 if(is_tax('mbt_author') or is_tax('mbt_genre') or is_tax('mbt_series') or is_tax('mbt_tag') || (mbt_is_archive_query() && ($mbt_archive_query->is_tax('mbt_author') or $mbt_archive_query->is_tax('mbt_genre') or $mbt_archive_query->is_tax('mbt_series') or $mbt_archive_query->is_tax('mbt_tag')))) {
15 $page_link = '<a href="'.mbt_get_booktable_url().'">'.mbt_get_product_name().'</a>';
16 array_splice($trail, 1, count($trail) - 1, array($page_link, $trail['trail_end']));
17 }
18 return $trail;
19 }
20
21 function mbt_integrate_genesis_breadcrumb_archive($crumb, $args) {
22 global $mbt_archive_query;
23 if(is_tax('mbt_author') or is_tax('mbt_genre') or is_tax('mbt_series') or is_tax('mbt_tag') || (mbt_is_archive_query() && ($mbt_archive_query->is_tax('mbt_author') or $mbt_archive_query->is_tax('mbt_genre') or $mbt_archive_query->is_tax('mbt_series') or $mbt_archive_query->is_tax('mbt_tag')))) {
24 $crumb = '<a href="'.mbt_get_booktable_url().'">'.mbt_get_product_name().'</a>'.$args['sep'].$crumb;
25 }
26 return $crumb;
27 }
28
29 function mbt_do_page_breadcrumbs() {
30 $show_breadcrumbs = apply_filters('mbt_show_page_breadcrumbs', mbt_get_setting('enable_breadcrumbs') and !mbt_has_template_context('shortcode'));
31 if($show_breadcrumbs) { mbt_the_breadcrumbs(); }
32 }
33
34 function mbt_get_breadcrumbs($delimiter = '') {
35 $delimiter = empty($delimiter) ? ' &gt; ' : $delimiter;
36 $delimiter = '<span class="mbt-breadcrumbs-delimiter">'.$delimiter.'</span>';
37 $output = '<a href="'.get_site_url().'">'.__('Home', 'mybooktable').'</a>';
38
39 if(is_singular('mbt_book')) {
40 global $post;
41 $output .= $delimiter.'<a href="'.mbt_get_booktable_url().'">'.mbt_get_product_name().'</a>'.$delimiter.'<a href="'.get_permalink().'">'.$post->post_title.'</a>';
42 } else if(is_tax('mbt_author') or is_tax('mbt_series') or is_tax('mbt_genre') or is_tax('mbt_tag')) {
43 $output .= $delimiter.'<a href="'.mbt_get_booktable_url().'">'.mbt_get_product_name().'</a>'.$delimiter.'<a href="'.get_term_link(get_queried_object()).'">'.get_queried_object()->name.'</a>';
44 } else if(is_post_type_archive('mbt_book') or mbt_is_booktable_page()) {
45 $output .= $delimiter.'<a href="'.mbt_get_booktable_url().'">'.mbt_get_product_name().'</a>';
46 }
47
48 return apply_filters('mbt_get_breadcrumbs', empty($output) ? '' : '<div class="mbt-breadcrumbs">'.$output.'</div>');
49 }
50 function mbt_the_breadcrumbs($delimiter = '') {
51 echo(wp_kses_post(mbt_get_breadcrumbs($delimiter)));
52 }