Breadcrumb NavXT - Version 5.6.0

Version Description

Release date: December 23rd, 2016

  • New feature: Added fourth parameter, $force, to bcn_display(), and bcn_display_list() allowing the internal caching mechanism to be bypassed.
  • New feature: Moved to multiple line text boxes rather than regular single line text inputs for the breadcrumb templates in the settings page to enhance visibility.
  • Bug fix: Fixed issue where general searches had the blog breadcrumb in the breadcrumb trail.
  • Bug fix: Fixed issue where the blog breadcrumb options were erroneously made available when a Posts Page was not set.
Download this release

Release Info

Developer mtekk
Plugin Icon 128x128 Breadcrumb NavXT
Version 5.6.0
Comparing to
See all releases

Code changes from version 5.5.2 to 5.6.0

.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ *.class
2
+ *.pyc
3
+ *.pyo
breadcrumb-navxt.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Breadcrumb NavXT
4
  Plugin URI: http://mtekk.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. For details on how to use this plugin visit <a href="http://mtekk.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
- Version: 5.5.2
7
  Author: John Havlik
8
  Author URI: http://mtekk.us/
9
  License: GPL2
@@ -60,7 +60,7 @@ $breadcrumb_navxt = NULL;
60
  //TODO change to extends mtekk_plugKit
61
  class breadcrumb_navxt
62
  {
63
- const version = '5.5.2';
64
  protected $name = 'Breadcrumb NavXT';
65
  protected $identifier = 'breadcrumb-navxt';
66
  protected $unique_prefix = 'bcn';
@@ -390,10 +390,16 @@ class breadcrumb_navxt
390
  * @param bool $return Whether to return or echo the trail.
391
  * @param bool $linked Whether to allow hyperlinks in the trail or not.
392
  * @param bool $reverse Whether to reverse the output or not.
 
393
  */
394
- public function display($return = false, $linked = true, $reverse = false)
395
  {
396
  $this->get_settings();
 
 
 
 
 
397
  //Generate the breadcrumb trail
398
  $this->breadcrumb_trail->fill();
399
  return $this->breadcrumb_trail->display($return, $linked, $reverse);
@@ -401,14 +407,19 @@ class breadcrumb_navxt
401
  /**
402
  * Outputs the breadcrumb trail with each element encapsulated with li tags
403
  *
404
- * @since 3.2.0
405
- * @param bool $return Whether to return or echo the trail.
406
- * @param bool $linked Whether to allow hyperlinks in the trail or not.
407
- * @param bool $reverse Whether to reverse the output or not.
408
  */
409
- public function display_list($return = false, $linked = true, $reverse = false)
410
  {
411
  $this->get_settings();
 
 
 
 
 
412
  //Generate the breadcrumb trail
413
  $this->breadcrumb_trail->fill();
414
  return $this->breadcrumb_trail->display_list($return, $linked, $reverse);
@@ -430,13 +441,14 @@ function bcn_init()
430
  * @param bool $return Whether to return or echo the trail. (optional)
431
  * @param bool $linked Whether to allow hyperlinks in the trail or not. (optional)
432
  * @param bool $reverse Whether to reverse the output or not. (optional)
 
433
  */
434
- function bcn_display($return = false, $linked = true, $reverse = false)
435
  {
436
  global $breadcrumb_navxt;
437
  if($breadcrumb_navxt !== null)
438
  {
439
- return $breadcrumb_navxt->display($return, $linked, $reverse);
440
  }
441
  }
442
  /**
@@ -445,12 +457,13 @@ function bcn_display($return = false, $linked = true, $reverse = false)
445
  * @param bool $return Whether to return or echo the trail. (optional)
446
  * @param bool $linked Whether to allow hyperlinks in the trail or not. (optional)
447
  * @param bool $reverse Whether to reverse the output or not. (optional)
 
448
  */
449
- function bcn_display_list($return = false, $linked = true, $reverse = false)
450
  {
451
  global $breadcrumb_navxt;
452
  if($breadcrumb_navxt !== null)
453
  {
454
- return $breadcrumb_navxt->display_list($return, $linked, $reverse);
455
  }
456
  }
3
  Plugin Name: Breadcrumb NavXT
4
  Plugin URI: http://mtekk.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. For details on how to use this plugin visit <a href="http://mtekk.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
+ Version: 5.6.0
7
  Author: John Havlik
8
  Author URI: http://mtekk.us/
9
  License: GPL2
60
  //TODO change to extends mtekk_plugKit
61
  class breadcrumb_navxt
62
  {
63
+ const version = '5.6.0';
64
  protected $name = 'Breadcrumb NavXT';
65
  protected $identifier = 'breadcrumb-navxt';
66
  protected $unique_prefix = 'bcn';
390
  * @param bool $return Whether to return or echo the trail.
391
  * @param bool $linked Whether to allow hyperlinks in the trail or not.
392
  * @param bool $reverse Whether to reverse the output or not.
393
+ * @param bool $force Whether or not to force the fill function to run.
394
  */
395
+ public function display($return = false, $linked = true, $reverse = false, $force = false)
396
  {
397
  $this->get_settings();
398
+ //If we're being forced to fill the trail, clear it before calling fill
399
+ if($force)
400
+ {
401
+ $this->breadcrumb_trail->breadcrumbs = array();
402
+ }
403
  //Generate the breadcrumb trail
404
  $this->breadcrumb_trail->fill();
405
  return $this->breadcrumb_trail->display($return, $linked, $reverse);
407
  /**
408
  * Outputs the breadcrumb trail with each element encapsulated with li tags
409
  *
410
+ * @param bool $return Whether to return or echo the trail.
411
+ * @param bool $linked Whether to allow hyperlinks in the trail or not.
412
+ * @param bool $reverse Whether to reverse the output or not.
413
+ * @param bool $force Whether or not to force the fill function to run.
414
  */
415
+ public function display_list($return = false, $linked = true, $reverse = false, $force = false)
416
  {
417
  $this->get_settings();
418
+ //If we're being forced to fill the trail, clear it before calling fill
419
+ if($force)
420
+ {
421
+ $this->breadcrumb_trail->breadcrumbs = array();
422
+ }
423
  //Generate the breadcrumb trail
424
  $this->breadcrumb_trail->fill();
425
  return $this->breadcrumb_trail->display_list($return, $linked, $reverse);
441
  * @param bool $return Whether to return or echo the trail. (optional)
442
  * @param bool $linked Whether to allow hyperlinks in the trail or not. (optional)
443
  * @param bool $reverse Whether to reverse the output or not. (optional)
444
+ * @param bool $force Whether or not to force the fill function to run. (optional)
445
  */
446
+ function bcn_display($return = false, $linked = true, $reverse = false, $force = false)
447
  {
448
  global $breadcrumb_navxt;
449
  if($breadcrumb_navxt !== null)
450
  {
451
+ return $breadcrumb_navxt->display($return, $linked, $reverse, $force);
452
  }
453
  }
454
  /**
457
  * @param bool $return Whether to return or echo the trail. (optional)
458
  * @param bool $linked Whether to allow hyperlinks in the trail or not. (optional)
459
  * @param bool $reverse Whether to reverse the output or not. (optional)
460
+ * @param bool $force Whether or not to force the fill function to run. (optional)
461
  */
462
+ function bcn_display_list($return = false, $linked = true, $reverse = false, $force = false)
463
  {
464
  global $breadcrumb_navxt;
465
  if($breadcrumb_navxt !== null)
466
  {
467
+ return $breadcrumb_navxt->display_list($return, $linked, $reverse, $force);
468
  }
469
  }
class.bcn_admin.php CHANGED
@@ -42,7 +42,7 @@ if(!class_exists('mtekk_adminKit'))
42
  */
43
  class bcn_admin extends mtekk_adminKit
44
  {
45
- const version = '5.5.2';
46
  protected $full_name = 'Breadcrumb NavXT Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_options';
@@ -308,13 +308,13 @@ class bcn_admin extends mtekk_adminKit
308
  'content' => $general_tab
309
  ));
310
  $quickstart_tab = '<p>' . __('For the settings on this page to take effect, you must either use the included Breadcrumb NavXT widget, or place either of the code sections below into your theme.', 'breadcrumb-navxt') .
311
- '</p><h5>' . __('Breadcrumb trail with separators', 'breadcrumb-navxt') . '</h5><pre><code>&lt;div class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/"&gt;' . "
312
  &lt;?php if(function_exists('bcn_display'))
313
  {
314
  bcn_display();
315
  }?&gt;
316
  &lt;/div&gt;</code></pre>" .
317
- '<h5>' . __('Breadcrumb trail in list form', 'breadcrumb-navxt').'</h5><pre><code>&lt;ol class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/"&gt;'."
318
  &lt;?php if(function_exists('bcn_display_list'))
319
  {
320
  bcn_display_list();
@@ -464,17 +464,17 @@ class bcn_admin extends mtekk_adminKit
464
  <table class="form-table adminkit-engroup">
465
  <?php
466
  $this->input_check(__('Home Breadcrumb', 'breadcrumb-navxt'), 'bhome_display', __('Place the home breadcrumb in the trail.', 'breadcrumb-navxt'));
467
- $this->input_text(__('Home Template', 'breadcrumb-navxt'), 'Hhome_template', 'large-text', false, __('The template for the home breadcrumb.', 'breadcrumb-navxt'));
468
- $this->input_text(__('Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hhome_template_no_anchor', 'large-text', false, __('The template for the home breadcrumb, used when the breadcrumb is not linked.', 'breadcrumb-navxt'));
469
  do_action($this->unique_prefix . '_settings_home', $this->opt);
470
  ?>
471
  </table>
472
  <h3><?php _e('Blog Breadcrumb', 'breadcrumb-navxt'); ?></h3>
473
  <table class="form-table adminkit-engroup">
474
  <?php
475
- $this->input_check(__('Blog Breadcrumb', 'breadcrumb-navxt'), 'bblog_display', __('Place the blog breadcrumb in the trail.', 'breadcrumb-navxt'), (get_option('show_on_front') !== "page"));
476
- $this->input_text(__('Blog Template', 'breadcrumb-navxt'), 'Hblog_template', 'large-text', (get_option('show_on_front') !== "page"), __('The template for the blog breadcrumb, used only in static front page environments.', 'breadcrumb-navxt'));
477
- $this->input_text(__('Blog Template (Unlinked)', 'breadcrumb-navxt'), 'Hblog_template_no_anchor', 'large-text', (get_option('show_on_front') !== "page"), __('The template for the blog breadcrumb, used only in static front page environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
478
  do_action($this->unique_prefix . '_settings_blog', $this->opt);
479
  ?>
480
  </table>
@@ -482,8 +482,8 @@ class bcn_admin extends mtekk_adminKit
482
  <table class="form-table adminkit-engroup">
483
  <?php
484
  $this->input_check(__('Main Site Breadcrumb', 'breadcrumb-navxt'), 'bmainsite_display', __('Place the main site home breadcrumb in the trail in an multisite setup.', 'breadcrumb-navxt'), !is_multisite());
485
- $this->input_text(__('Main Site Home Template', 'breadcrumb-navxt'), 'Hmainsite_template', 'large-text', !is_multisite(), __('The template for the main site home breadcrumb, used only in multisite environments.', 'breadcrumb-navxt'));
486
- $this->input_text(__('Main Site Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hmainsite_template_no_anchor', 'large-text', !is_multisite(), __('The template for the main site home breadcrumb, used only in multisite environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
487
  do_action($this->unique_prefix . '_settings_mainsite', $this->opt);
488
  ?>
489
  </table>
@@ -494,8 +494,8 @@ class bcn_admin extends mtekk_adminKit
494
  <h3><?php _e('Posts', 'breadcrumb-navxt'); ?></h3>
495
  <table class="form-table adminkit-enset-top">
496
  <?php
497
- $this->input_text(__('Post Template', 'breadcrumb-navxt'), 'Hpost_post_template', 'large-text', false, __('The template for post breadcrumbs.', 'breadcrumb-navxt'));
498
- $this->input_text(__('Post Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_post_template_no_anchor', 'large-text', false, __('The template for post breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
499
  $this->input_check(__('Post Hierarchy Display', 'breadcrumb-navxt'), 'bpost_post_taxonomy_display', __('Show the hierarchy (specified below) leading to a post in the breadcrumb trail.', 'breadcrumb-navxt'), false, '', 'adminkit-enset-ctrl adminkit-enset');
500
  $this->input_check(__('Post Hierarchy Referer Influence', 'breadcrumb-navxt'), 'bpost_post_taxonomy_referer', __('Allow the refereing page to influence the taxonomy selected for the hierarchy.', 'breadcrumb-navxt'), false, '', 'adminkit-enset');
501
  ?>
@@ -532,15 +532,15 @@ class bcn_admin extends mtekk_adminKit
532
  <h3><?php _e('Pages', 'breadcrumb-navxt'); ?></h3>
533
  <table class="form-table">
534
  <?php
535
- $this->input_text(__('Page Template', 'breadcrumb-navxt'), 'Hpost_page_template', 'large-text', false, __('The template for page breadcrumbs.', 'breadcrumb-navxt'));
536
- $this->input_text(__('Page Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_page_template_no_anchor', 'large-text', false, __('The template for page breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
537
  ?>
538
  </table>
539
  <h3><?php _e('Attachments', 'breadcrumb-navxt'); ?></h3>
540
  <table class="form-table">
541
  <?php
542
- $this->input_text(__('Attachment Template', 'breadcrumb-navxt'), 'Hpost_attachment_template', 'large-text', false, __('The template for attachment breadcrumbs.', 'breadcrumb-navxt'));
543
- $this->input_text(__('Attachment Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_attachment_template_no_anchor', 'large-text', false, __('The template for attachment breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
544
  ?>
545
  </table>
546
  <?php
@@ -560,8 +560,8 @@ class bcn_admin extends mtekk_adminKit
560
  <h3><?php echo $post_type->labels->singular_name; ?></h3>
561
  <table class="form-table adminkit-enset-top">
562
  <?php
563
- $this->input_text(sprintf(__('%s Template', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template', 'large-text', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $singular_name_lc));
564
- $this->input_text(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template_no_anchor', 'large-text', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $singular_name_lc));
565
  $optid = $this->get_valid_id('apost_' . $post_type->name . '_root');
566
  ?>
567
  <tr valign="top">
@@ -627,22 +627,22 @@ class bcn_admin extends mtekk_adminKit
627
  <h3><?php _e('Categories', 'breadcrumb-navxt'); ?></h3>
628
  <table class="form-table">
629
  <?php
630
- $this->input_text(__('Category Template', 'breadcrumb-navxt'), 'Htax_category_template', 'large-text', false, __('The template for category breadcrumbs.', 'breadcrumb-navxt'));
631
- $this->input_text(__('Category Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_category_template_no_anchor', 'large-text', false, __('The template for category breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
632
  ?>
633
  </table>
634
  <h3><?php _e('Tags', 'breadcrumb-navxt'); ?></h3>
635
  <table class="form-table">
636
  <?php
637
- $this->input_text(__('Tag Template', 'breadcrumb-navxt'), 'Htax_post_tag_template', 'large-text', false, __('The template for tag breadcrumbs.', 'breadcrumb-navxt'));
638
- $this->input_text(__('Tag Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_tag_template_no_anchor', 'large-text', false, __('The template for tag breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
639
  ?>
640
  </table>
641
  <h3><?php _e('Post Formats', 'breadcrumb-navxt'); ?></h3>
642
  <table class="form-table">
643
  <?php
644
- $this->input_text(__('Post Format Template', 'breadcrumb-navxt'), 'Htax_post_format_template', 'large-text', false, __('The template for post format breadcrumbs.', 'breadcrumb-navxt'));
645
- $this->input_text(__('Post Format Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_format_template_no_anchor', 'large-text', false, __('The template for post_format breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
646
  ?>
647
  </table>
648
  <?php
@@ -662,8 +662,8 @@ class bcn_admin extends mtekk_adminKit
662
  <h3><?php echo mb_convert_case($taxonomy->label, MB_CASE_TITLE, 'UTF-8'); ?></h3>
663
  <table class="form-table">
664
  <?php
665
- $this->input_text(sprintf(__('%s Template', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template', 'large-text', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $label_lc));
666
- $this->input_text(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template_no_anchor', 'large-text', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $label_lc));
667
  ?>
668
  </table>
669
  <?php
@@ -676,20 +676,20 @@ class bcn_admin extends mtekk_adminKit
676
  <h3><?php _e('Author Archives', 'breadcrumb-navxt'); ?></h3>
677
  <table class="form-table">
678
  <?php
679
- $this->input_text(__('Author Template', 'breadcrumb-navxt'), 'Hauthor_template', 'large-text', false, __('The template for author breadcrumbs.', 'breadcrumb-navxt'));
680
- $this->input_text(__('Author Template (Unlinked)', 'breadcrumb-navxt'), 'Hauthor_template_no_anchor', 'large-text', false, __('The template for author breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
681
  $this->input_select(__('Author Display Format', 'breadcrumb-navxt'), 'Sauthor_name', array("display_name", "nickname", "first_name", "last_name"), false, __('display_name uses the name specified in "Display name publicly as" under the user profile the others correspond to options in the user profile.', 'breadcrumb-navxt'));
682
  ?>
683
  </table>
684
  <h3><?php _e('Miscellaneous', 'breadcrumb-navxt'); ?></h3>
685
  <table class="form-table">
686
  <?php
687
- $this->input_text(__('Date Template', 'breadcrumb-navxt'), 'Hdate_template', 'large-text', false, __('The template for date breadcrumbs.', 'breadcrumb-navxt'));
688
- $this->input_text(__('Date Template (Unlinked)', 'breadcrumb-navxt'), 'Hdate_template_no_anchor', 'large-text', false, __('The template for date breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
689
- $this->input_text(__('Search Template', 'breadcrumb-navxt'), 'Hsearch_template', 'large-text', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages.', 'breadcrumb-navxt'));
690
- $this->input_text(__('Search Template (Unlinked)', 'breadcrumb-navxt'), 'Hsearch_template_no_anchor', 'large-text', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages and the breadcrumb is not linked.', 'breadcrumb-navxt'));
691
  $this->input_text(__('404 Title', 'breadcrumb-navxt'), 'S404_title', 'regular-text');
692
- $this->input_text(__('404 Template', 'breadcrumb-navxt'), 'H404_template', 'large-text', false, __('The template for 404 breadcrumbs.', 'breadcrumb-navxt'));
693
  ?>
694
  </table>
695
  <h3><?php _e('Deprecated', 'breadcrumb-navxt'); ?></h3>
42
  */
43
  class bcn_admin extends mtekk_adminKit
44
  {
45
+ const version = '5.6.0';
46
  protected $full_name = 'Breadcrumb NavXT Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_options';
308
  'content' => $general_tab
309
  ));
310
  $quickstart_tab = '<p>' . __('For the settings on this page to take effect, you must either use the included Breadcrumb NavXT widget, or place either of the code sections below into your theme.', 'breadcrumb-navxt') .
311
+ '</p><h5>' . __('Breadcrumb trail with separators', 'breadcrumb-navxt') . '</h5><pre><code>&lt;div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/"&gt;' . "
312
  &lt;?php if(function_exists('bcn_display'))
313
  {
314
  bcn_display();
315
  }?&gt;
316
  &lt;/div&gt;</code></pre>" .
317
+ '<h5>' . __('Breadcrumb trail in list form', 'breadcrumb-navxt').'</h5><pre><code>&lt;ol class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/"&gt;'."
318
  &lt;?php if(function_exists('bcn_display_list'))
319
  {
320
  bcn_display_list();
464
  <table class="form-table adminkit-engroup">
465
  <?php
466
  $this->input_check(__('Home Breadcrumb', 'breadcrumb-navxt'), 'bhome_display', __('Place the home breadcrumb in the trail.', 'breadcrumb-navxt'));
467
+ $this->textbox(__('Home Template', 'breadcrumb-navxt'), 'Hhome_template', '6', false, __('The template for the home breadcrumb.', 'breadcrumb-navxt'));
468
+ $this->textbox(__('Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hhome_template_no_anchor', '4', false, __('The template for the home breadcrumb, used when the breadcrumb is not linked.', 'breadcrumb-navxt'));
469
  do_action($this->unique_prefix . '_settings_home', $this->opt);
470
  ?>
471
  </table>
472
  <h3><?php _e('Blog Breadcrumb', 'breadcrumb-navxt'); ?></h3>
473
  <table class="form-table adminkit-engroup">
474
  <?php
475
+ $this->input_check(__('Blog Breadcrumb', 'breadcrumb-navxt'), 'bblog_display', __('Place the blog breadcrumb in the trail.', 'breadcrumb-navxt'), (get_option('show_on_front') !== 'page' || get_option('page_for_posts') < 1));
476
+ $this->textbox(__('Blog Template', 'breadcrumb-navxt'), 'Hblog_template', '6', (get_option('show_on_front') !== 'page' || get_option('page_for_posts') < 1), __('The template for the blog breadcrumb, used only in static front page environments.', 'breadcrumb-navxt'));
477
+ $this->textbox(__('Blog Template (Unlinked)', 'breadcrumb-navxt'), 'Hblog_template_no_anchor', '4', (get_option('show_on_front') !== 'page' || get_option('page_for_posts') < 1), __('The template for the blog breadcrumb, used only in static front page environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
478
  do_action($this->unique_prefix . '_settings_blog', $this->opt);
479
  ?>
480
  </table>
482
  <table class="form-table adminkit-engroup">
483
  <?php
484
  $this->input_check(__('Main Site Breadcrumb', 'breadcrumb-navxt'), 'bmainsite_display', __('Place the main site home breadcrumb in the trail in an multisite setup.', 'breadcrumb-navxt'), !is_multisite());
485
+ $this->textbox(__('Main Site Home Template', 'breadcrumb-navxt'), 'Hmainsite_template', '6', !is_multisite(), __('The template for the main site home breadcrumb, used only in multisite environments.', 'breadcrumb-navxt'));
486
+ $this->textbox(__('Main Site Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hmainsite_template_no_anchor', '4', !is_multisite(), __('The template for the main site home breadcrumb, used only in multisite environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
487
  do_action($this->unique_prefix . '_settings_mainsite', $this->opt);
488
  ?>
489
  </table>
494
  <h3><?php _e('Posts', 'breadcrumb-navxt'); ?></h3>
495
  <table class="form-table adminkit-enset-top">
496
  <?php
497
+ $this->textbox(__('Post Template', 'breadcrumb-navxt'), 'Hpost_post_template', '6', false, __('The template for post breadcrumbs.', 'breadcrumb-navxt'));
498
+ $this->textbox(__('Post Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_post_template_no_anchor', '4', false, __('The template for post breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
499
  $this->input_check(__('Post Hierarchy Display', 'breadcrumb-navxt'), 'bpost_post_taxonomy_display', __('Show the hierarchy (specified below) leading to a post in the breadcrumb trail.', 'breadcrumb-navxt'), false, '', 'adminkit-enset-ctrl adminkit-enset');
500
  $this->input_check(__('Post Hierarchy Referer Influence', 'breadcrumb-navxt'), 'bpost_post_taxonomy_referer', __('Allow the refereing page to influence the taxonomy selected for the hierarchy.', 'breadcrumb-navxt'), false, '', 'adminkit-enset');
501
  ?>
532
  <h3><?php _e('Pages', 'breadcrumb-navxt'); ?></h3>
533
  <table class="form-table">
534
  <?php
535
+ $this->textbox(__('Page Template', 'breadcrumb-navxt'), 'Hpost_page_template', '6', false, __('The template for page breadcrumbs.', 'breadcrumb-navxt'));
536
+ $this->textbox(__('Page Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_page_template_no_anchor', '4', false, __('The template for page breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
537
  ?>
538
  </table>
539
  <h3><?php _e('Attachments', 'breadcrumb-navxt'); ?></h3>
540
  <table class="form-table">
541
  <?php
542
+ $this->textbox(__('Attachment Template', 'breadcrumb-navxt'), 'Hpost_attachment_template', '6', false, __('The template for attachment breadcrumbs.', 'breadcrumb-navxt'));
543
+ $this->textbox(__('Attachment Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_attachment_template_no_anchor', '4', false, __('The template for attachment breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
544
  ?>
545
  </table>
546
  <?php
560
  <h3><?php echo $post_type->labels->singular_name; ?></h3>
561
  <table class="form-table adminkit-enset-top">
562
  <?php
563
+ $this->textbox(sprintf(__('%s Template', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template', '6', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $singular_name_lc));
564
+ $this->textbox(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template_no_anchor', '4', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $singular_name_lc));
565
  $optid = $this->get_valid_id('apost_' . $post_type->name . '_root');
566
  ?>
567
  <tr valign="top">
627
  <h3><?php _e('Categories', 'breadcrumb-navxt'); ?></h3>
628
  <table class="form-table">
629
  <?php
630
+ $this->textbox(__('Category Template', 'breadcrumb-navxt'), 'Htax_category_template', '6', false, __('The template for category breadcrumbs.', 'breadcrumb-navxt'));
631
+ $this->textbox(__('Category Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_category_template_no_anchor', '4', false, __('The template for category breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
632
  ?>
633
  </table>
634
  <h3><?php _e('Tags', 'breadcrumb-navxt'); ?></h3>
635
  <table class="form-table">
636
  <?php
637
+ $this->textbox(__('Tag Template', 'breadcrumb-navxt'), 'Htax_post_tag_template', '6', false, __('The template for tag breadcrumbs.', 'breadcrumb-navxt'));
638
+ $this->textbox(__('Tag Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_tag_template_no_anchor', '4', false, __('The template for tag breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
639
  ?>
640
  </table>
641
  <h3><?php _e('Post Formats', 'breadcrumb-navxt'); ?></h3>
642
  <table class="form-table">
643
  <?php
644
+ $this->textbox(__('Post Format Template', 'breadcrumb-navxt'), 'Htax_post_format_template', '6', false, __('The template for post format breadcrumbs.', 'breadcrumb-navxt'));
645
+ $this->textbox(__('Post Format Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_format_template_no_anchor', '4', false, __('The template for post_format breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
646
  ?>
647
  </table>
648
  <?php
662
  <h3><?php echo mb_convert_case($taxonomy->label, MB_CASE_TITLE, 'UTF-8'); ?></h3>
663
  <table class="form-table">
664
  <?php
665
+ $this->textbox(sprintf(__('%s Template', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template', '6', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $label_lc));
666
+ $this->textbox(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template_no_anchor', '4', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $label_lc));
667
  ?>
668
  </table>
669
  <?php
676
  <h3><?php _e('Author Archives', 'breadcrumb-navxt'); ?></h3>
677
  <table class="form-table">
678
  <?php
679
+ $this->textbox(__('Author Template', 'breadcrumb-navxt'), 'Hauthor_template', '6', false, __('The template for author breadcrumbs.', 'breadcrumb-navxt'));
680
+ $this->textbox(__('Author Template (Unlinked)', 'breadcrumb-navxt'), 'Hauthor_template_no_anchor', '4', false, __('The template for author breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
681
  $this->input_select(__('Author Display Format', 'breadcrumb-navxt'), 'Sauthor_name', array("display_name", "nickname", "first_name", "last_name"), false, __('display_name uses the name specified in "Display name publicly as" under the user profile the others correspond to options in the user profile.', 'breadcrumb-navxt'));
682
  ?>
683
  </table>
684
  <h3><?php _e('Miscellaneous', 'breadcrumb-navxt'); ?></h3>
685
  <table class="form-table">
686
  <?php
687
+ $this->textbox(__('Date Template', 'breadcrumb-navxt'), 'Hdate_template', '6', false, __('The template for date breadcrumbs.', 'breadcrumb-navxt'));
688
+ $this->textbox(__('Date Template (Unlinked)', 'breadcrumb-navxt'), 'Hdate_template_no_anchor', '4', false, __('The template for date breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
689
+ $this->textbox(__('Search Template', 'breadcrumb-navxt'), 'Hsearch_template', '6', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages.', 'breadcrumb-navxt'));
690
+ $this->textbox(__('Search Template (Unlinked)', 'breadcrumb-navxt'), 'Hsearch_template_no_anchor', '4', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages and the breadcrumb is not linked.', 'breadcrumb-navxt'));
691
  $this->input_text(__('404 Title', 'breadcrumb-navxt'), 'S404_title', 'regular-text');
692
+ $this->textbox(__('404 Template', 'breadcrumb-navxt'), 'H404_template', '4', false, __('The template for 404 breadcrumbs.', 'breadcrumb-navxt'));
693
  ?>
694
  </table>
695
  <h3><?php _e('Deprecated', 'breadcrumb-navxt'); ?></h3>
class.bcn_breadcrumb.php CHANGED
@@ -21,7 +21,7 @@ require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
21
  class bcn_breadcrumb
22
  {
23
  //Our member variables
24
- const version = '5.5.2';
25
  //The main text that will be shown
26
  protected $title;
27
  //The breadcrumb's template, used durring assembly
21
  class bcn_breadcrumb
22
  {
23
  //Our member variables
24
+ const version = '5.6.0';
25
  //The main text that will be shown
26
  protected $title;
27
  //The breadcrumb's template, used durring assembly
class.bcn_breadcrumb_trail.php CHANGED
@@ -21,7 +21,7 @@ require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
21
  class bcn_breadcrumb_trail
22
  {
23
  //Our member variables
24
- const version = '5.5.2';
25
  //An array of breadcrumbs
26
  public $breadcrumbs = array();
27
  public $trail = array();
@@ -319,6 +319,7 @@ class bcn_breadcrumb_trail
319
  {
320
  //We have to grab the post to find its parent, can't use $post for this one
321
  $parent = get_post($id);
 
322
  $parent = $parent->post_parent;
323
  }
324
  //Grab the frontpage, we'll need it shortly
@@ -726,7 +727,7 @@ class bcn_breadcrumb_trail
726
  */
727
  protected function treat_as_root_page($post_type)
728
  {
729
- return (is_home() || (is_post_type_archive() && is_numeric($this->opt['apost_' . $post_type . '_root']) && !$this->opt['bpost_' . $post_type . '_archive_display']));
730
  }
731
  /**
732
  * Determines if a post type has archives enabled or not
@@ -736,7 +737,7 @@ class bcn_breadcrumb_trail
736
  */
737
  protected function has_archive($post_type)
738
  {
739
- $type = get_post_type_object($post_type);
740
  return $type->has_archive;
741
  }
742
  /**
@@ -801,7 +802,7 @@ class bcn_breadcrumb_trail
801
  {
802
  global $wp_taxonomies;
803
  $type_str = false;
804
- if(!isset($type->taxonomy))
805
  {
806
  $type_str = $this->get_type_string_query_var();
807
  }
@@ -879,7 +880,7 @@ class bcn_breadcrumb_trail
879
  $type_str = 'page';
880
  $root_id = get_option('page_on_front');
881
  }
882
- else if($this->opt['bblog_display'] || is_home())
883
  {
884
  $type_str = 'post';
885
  $root_id = get_option('page_for_posts');
@@ -898,7 +899,7 @@ class bcn_breadcrumb_trail
898
  {
899
  //Could use the $post global, but we can't really trust it
900
  $post = get_post();
901
- $type = get_post($post->post_parent);
902
  //If the parent of the attachment is a page, exit early (works around bug where is_single() returns true for an attachment to a page)
903
  if($type->post_type == 'page')
904
  {
21
  class bcn_breadcrumb_trail
22
  {
23
  //Our member variables
24
+ const version = '5.6.0';
25
  //An array of breadcrumbs
26
  public $breadcrumbs = array();
27
  public $trail = array();
319
  {
320
  //We have to grab the post to find its parent, can't use $post for this one
321
  $parent = get_post($id);
322
+ //TODO should we check that we have a WP_Post object here?
323
  $parent = $parent->post_parent;
324
  }
325
  //Grab the frontpage, we'll need it shortly
727
  */
728
  protected function treat_as_root_page($post_type)
729
  {
730
+ return (is_home() || (is_post_type_archive() && !$this->opt['bpost_' . $post_type . '_archive_display']));
731
  }
732
  /**
733
  * Determines if a post type has archives enabled or not
737
  */
738
  protected function has_archive($post_type)
739
  {
740
+ $type = get_post_type_object($post_type); //TODO need a check on this for WP_Error?
741
  return $type->has_archive;
742
  }
743
  /**
802
  {
803
  global $wp_taxonomies;
804
  $type_str = false;
805
+ if(!isset($type->taxonomy)) //TODO could probably check the class type here
806
  {
807
  $type_str = $this->get_type_string_query_var();
808
  }
880
  $type_str = 'page';
881
  $root_id = get_option('page_on_front');
882
  }
883
+ else if(($this->opt['bblog_display'] || is_home()) && !is_search())
884
  {
885
  $type_str = 'post';
886
  $root_id = get_option('page_for_posts');
899
  {
900
  //Could use the $post global, but we can't really trust it
901
  $post = get_post();
902
+ $type = get_post($post->post_parent); //TODO check for WP_Error?
903
  //If the parent of the attachment is a page, exit early (works around bug where is_single() returns true for an attachment to a page)
904
  if($type->post_type == 'page')
905
  {
class.bcn_network_admin.php CHANGED
@@ -42,7 +42,7 @@ if(!class_exists('mtekk_adminKit'))
42
  */
43
  class bcn_network_admin extends mtekk_adminKit
44
  {
45
- const version = '5.5.2';
46
  protected $full_name = 'Breadcrumb NavXT Network Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_network_options';
@@ -379,13 +379,13 @@ class bcn_network_admin extends mtekk_adminKit
379
  'content' => $general_tab
380
  ));
381
  $quickstart_tab = '<p>' . __('For the settings on this page to take effect, you must either use the included Breadcrumb NavXT widget, or place either of the code sections below into your theme.', 'breadcrumb-navxt') .
382
- '</p><h5>' . __('Breadcrumb trail with separators', 'breadcrumb-navxt') . '</h5><pre><code>&lt;div class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/"&gt;' . "
383
  &lt;?php if(function_exists('bcn_display'))
384
  {
385
  bcn_display();
386
  }?&gt;
387
  &lt;/div&gt;</code></pre>" .
388
- '<h5>' . __('Breadcrumb trail in list form', 'breadcrumb-navxt').'</h5><pre><code>&lt;ol class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/"&gt;'."
389
  &lt;?php if(function_exists('bcn_display_list'))
390
  {
391
  bcn_display_list();
@@ -536,8 +536,8 @@ class bcn_network_admin extends mtekk_adminKit
536
  <table class="form-table adminkit-engroup">
537
  <?php
538
  $this->input_check(__('Home Breadcrumb', 'breadcrumb-navxt'), 'bhome_display', __('Place the home breadcrumb in the trail.', 'breadcrumb-navxt'));
539
- $this->input_text(__('Home Template', 'breadcrumb-navxt'), 'Hhome_template', 'large-text', false, __('The template for the home breadcrumb.', 'breadcrumb-navxt'));
540
- $this->input_text(__('Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hhome_template_no_anchor', 'large-text', false, __('The template for the home breadcrumb, used when the breadcrumb is not linked.', 'breadcrumb-navxt'));
541
  do_action($this->unique_prefix . '_network_settings_home', $this->opt);
542
  ?>
543
  </table>
@@ -545,17 +545,17 @@ class bcn_network_admin extends mtekk_adminKit
545
  <table class="form-table adminkit-engroup">
546
  <?php
547
  $this->input_check(__('Blog Breadcrumb', 'breadcrumb-navxt'), 'bblog_display', __('Place the blog breadcrumb in the trail.', 'breadcrumb-navxt'));
548
- $this->input_text(__('Blog Template', 'breadcrumb-navxt'), 'Hblog_template', 'large-text', false, __('The template for the blog breadcrumb, used only in static front page environments.', 'breadcrumb-navxt'));
549
- $this->input_text(__('Blog Template (Unlinked)', 'breadcrumb-navxt'), 'Hblog_template_no_anchor', 'large-text', false , __('The template for the blog breadcrumb, used only in static front page environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
550
  do_action($this->unique_prefix . '_network_settings_blog', $this->opt);
551
  ?>
552
  </table>
553
  <h3><?php _e('Mainsite Breadcrumb', 'breadcrumb-navxt'); ?></h3>
554
  <table class="form-table adminkit-engroup">
555
  <?php
556
- $this->input_check(__('Main Site Breadcrumb', 'breadcrumb-navxt'), 'bmainsite_display', __('Place the main site home breadcrumb in the trail in an multisite setup.', 'breadcrumb-navxt'), !is_multisite());
557
- $this->input_text(__('Main Site Home Template', 'breadcrumb-navxt'), 'Hmainsite_template', 'large-text', false, __('The template for the main site home breadcrumb, used only in multisite environments.', 'breadcrumb-navxt'));
558
- $this->input_text(__('Main Site Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hmainsite_template_no_anchor', 'large-text', false, __('The template for the main site home breadcrumb, used only in multisite environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
559
  do_action($this->unique_prefix . '_network_settings_mainsite', $this->opt);
560
  ?>
561
  </table>
@@ -566,8 +566,8 @@ class bcn_network_admin extends mtekk_adminKit
566
  <h3><?php _e('Posts', 'breadcrumb-navxt'); ?></h3>
567
  <table class="form-table adminkit-enset-top">
568
  <?php
569
- $this->input_text(__('Post Template', 'breadcrumb-navxt'), 'Hpost_post_template', 'large-text', false, __('The template for post breadcrumbs.', 'breadcrumb-navxt'));
570
- $this->input_text(__('Post Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_post_template_no_anchor', 'large-text', false, __('The template for post breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
571
  $this->input_check(__('Post Hierarchy Display', 'breadcrumb-navxt'), 'bpost_post_taxonomy_display', __('Show the hierarchy (specified below) leading to a post in the breadcrumb trail.', 'breadcrumb-navxt'), false, '', 'adminkit-enset-ctrl adminkit-enset');
572
  $this->input_check(__('Post Hierarchy Referer Influence', 'breadcrumb-navxt'), 'bpost_post_taxonomy_referer', __('Allow the refereing page to influence the taxonomy selected for the hierarchy.', 'breadcrumb-navxt'), false, '', 'adminkit-enset');
573
  ?>
@@ -604,15 +604,15 @@ class bcn_network_admin extends mtekk_adminKit
604
  <h3><?php _e('Pages', 'breadcrumb-navxt'); ?></h3>
605
  <table class="form-table">
606
  <?php
607
- $this->input_text(__('Page Template', 'breadcrumb-navxt'), 'Hpost_page_template', 'large-text', false, __('The template for page breadcrumbs.', 'breadcrumb-navxt'));
608
- $this->input_text(__('Page Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_page_template_no_anchor', 'large-text', false, __('The template for page breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
609
  ?>
610
  </table>
611
  <h3><?php _e('Attachments', 'breadcrumb-navxt'); ?></h3>
612
  <table class="form-table">
613
  <?php
614
- $this->input_text(__('Attachment Template', 'breadcrumb-navxt'), 'Hpost_attachment_template', 'large-text', false, __('The template for attachment breadcrumbs.', 'breadcrumb-navxt'));
615
- $this->input_text(__('Attachment Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_attachment_template_no_anchor', 'large-text', false, __('The template for attachment breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
616
  ?>
617
  </table>
618
  <?php
@@ -632,8 +632,8 @@ class bcn_network_admin extends mtekk_adminKit
632
  <h3><?php echo $post_type->labels->singular_name; ?></h3>
633
  <table class="form-table adminkit-enset-top">
634
  <?php
635
- $this->input_text(sprintf(__('%s Template', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template', 'large-text', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $singular_name_lc));
636
- $this->input_text(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template_no_anchor', 'large-text', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $singular_name_lc));
637
  $optid = $this->get_valid_id('apost_' . $post_type->name . '_root');
638
  ?>
639
  <tr valign="top">
@@ -699,22 +699,22 @@ class bcn_network_admin extends mtekk_adminKit
699
  <h3><?php _e('Categories', 'breadcrumb-navxt'); ?></h3>
700
  <table class="form-table">
701
  <?php
702
- $this->input_text(__('Category Template', 'breadcrumb-navxt'), 'Htax_category_template', 'large-text', false, __('The template for category breadcrumbs.', 'breadcrumb-navxt'));
703
- $this->input_text(__('Category Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_category_template_no_anchor', 'large-text', false, __('The template for category breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
704
  ?>
705
  </table>
706
  <h3><?php _e('Tags', 'breadcrumb-navxt'); ?></h3>
707
  <table class="form-table">
708
  <?php
709
- $this->input_text(__('Tag Template', 'breadcrumb-navxt'), 'Htax_post_tag_template', 'large-text', false, __('The template for tag breadcrumbs.', 'breadcrumb-navxt'));
710
- $this->input_text(__('Tag Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_tag_template_no_anchor', 'large-text', false, __('The template for tag breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
711
  ?>
712
  </table>
713
  <h3><?php _e('Post Formats', 'breadcrumb-navxt'); ?></h3>
714
  <table class="form-table">
715
  <?php
716
- $this->input_text(__('Post Format Template', 'breadcrumb-navxt'), 'Htax_post_format_template', 'large-text', false, __('The template for post format breadcrumbs.', 'breadcrumb-navxt'));
717
- $this->input_text(__('Post Format Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_format_template_no_anchor', 'large-text', false, __('The template for post_format breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
718
  ?>
719
  </table>
720
  <?php
@@ -734,8 +734,8 @@ class bcn_network_admin extends mtekk_adminKit
734
  <h3><?php echo mb_convert_case($taxonomy->label, MB_CASE_TITLE, 'UTF-8'); ?></h3>
735
  <table class="form-table">
736
  <?php
737
- $this->input_text(sprintf(__('%s Template', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template', 'large-text', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $label_lc));
738
- $this->input_text(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template_no_anchor', 'large-text', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $label_lc));
739
  ?>
740
  </table>
741
  <?php
@@ -748,20 +748,20 @@ class bcn_network_admin extends mtekk_adminKit
748
  <h3><?php _e('Author Archives', 'breadcrumb-navxt'); ?></h3>
749
  <table class="form-table">
750
  <?php
751
- $this->input_text(__('Author Template', 'breadcrumb-navxt'), 'Hauthor_template', 'large-text', false, __('The template for author breadcrumbs.', 'breadcrumb-navxt'));
752
- $this->input_text(__('Author Template (Unlinked)', 'breadcrumb-navxt'), 'Hauthor_template_no_anchor', 'large-text', false, __('The template for author breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
753
  $this->input_select(__('Author Display Format', 'breadcrumb-navxt'), 'Sauthor_name', array("display_name", "nickname", "first_name", "last_name"), false, __('display_name uses the name specified in "Display name publicly as" under the user profile the others correspond to options in the user profile.', 'breadcrumb-navxt'));
754
  ?>
755
  </table>
756
  <h3><?php _e('Miscellaneous', 'breadcrumb-navxt'); ?></h3>
757
  <table class="form-table">
758
  <?php
759
- $this->input_text(__('Date Template', 'breadcrumb-navxt'), 'Hdate_template', 'large-text', false, __('The template for date breadcrumbs.', 'breadcrumb-navxt'));
760
- $this->input_text(__('Date Template (Unlinked)', 'breadcrumb-navxt'), 'Hdate_template_no_anchor', 'large-text', false, __('The template for date breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
761
- $this->input_text(__('Search Template', 'breadcrumb-navxt'), 'Hsearch_template', 'large-text', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages.', 'breadcrumb-navxt'));
762
- $this->input_text(__('Search Template (Unlinked)', 'breadcrumb-navxt'), 'Hsearch_template_no_anchor', 'large-text', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages and the breadcrumb is not linked.', 'breadcrumb-navxt'));
763
  $this->input_text(__('404 Title', 'breadcrumb-navxt'), 'S404_title', 'regular-text');
764
- $this->input_text(__('404 Template', 'breadcrumb-navxt'), 'H404_template', 'large-text', false, __('The template for 404 breadcrumbs.', 'breadcrumb-navxt'));
765
  ?>
766
  </table>
767
  <h3><?php _e('Deprecated', 'breadcrumb-navxt'); ?></h3>
42
  */
43
  class bcn_network_admin extends mtekk_adminKit
44
  {
45
+ const version = '5.6.0';
46
  protected $full_name = 'Breadcrumb NavXT Network Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_network_options';
379
  'content' => $general_tab
380
  ));
381
  $quickstart_tab = '<p>' . __('For the settings on this page to take effect, you must either use the included Breadcrumb NavXT widget, or place either of the code sections below into your theme.', 'breadcrumb-navxt') .
382
+ '</p><h5>' . __('Breadcrumb trail with separators', 'breadcrumb-navxt') . '</h5><pre><code>&lt;div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/"&gt;' . "
383
  &lt;?php if(function_exists('bcn_display'))
384
  {
385
  bcn_display();
386
  }?&gt;
387
  &lt;/div&gt;</code></pre>" .
388
+ '<h5>' . __('Breadcrumb trail in list form', 'breadcrumb-navxt').'</h5><pre><code>&lt;ol class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/"&gt;'."
389
  &lt;?php if(function_exists('bcn_display_list'))
390
  {
391
  bcn_display_list();
536
  <table class="form-table adminkit-engroup">
537
  <?php
538
  $this->input_check(__('Home Breadcrumb', 'breadcrumb-navxt'), 'bhome_display', __('Place the home breadcrumb in the trail.', 'breadcrumb-navxt'));
539
+ $this->textbox(__('Home Template', 'breadcrumb-navxt'), 'Hhome_template', '6', false, __('The template for the home breadcrumb.', 'breadcrumb-navxt'));
540
+ $this->textbox(__('Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hhome_template_no_anchor', '4', false, __('The template for the home breadcrumb, used when the breadcrumb is not linked.', 'breadcrumb-navxt'));
541
  do_action($this->unique_prefix . '_network_settings_home', $this->opt);
542
  ?>
543
  </table>
545
  <table class="form-table adminkit-engroup">
546
  <?php
547
  $this->input_check(__('Blog Breadcrumb', 'breadcrumb-navxt'), 'bblog_display', __('Place the blog breadcrumb in the trail.', 'breadcrumb-navxt'));
548
+ $this->textbox(__('Blog Template', 'breadcrumb-navxt'), 'Hblog_template', '6', false, __('The template for the blog breadcrumb, used only in static front page environments.', 'breadcrumb-navxt'));
549
+ $this->textbox(__('Blog Template (Unlinked)', 'breadcrumb-navxt'), 'Hblog_template_no_anchor', '4', false , __('The template for the blog breadcrumb, used only in static front page environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
550
  do_action($this->unique_prefix . '_network_settings_blog', $this->opt);
551
  ?>
552
  </table>
553
  <h3><?php _e('Mainsite Breadcrumb', 'breadcrumb-navxt'); ?></h3>
554
  <table class="form-table adminkit-engroup">
555
  <?php
556
+ $this->input_check(__('Main Site Breadcrumb', 'breadcrumb-navxt'), 'bmainsite_display', __('Place the main site home breadcrumb in the trail in an multisite setup.', 'breadcrumb-navxt'));
557
+ $this->textbox(__('Main Site Home Template', 'breadcrumb-navxt'), 'Hmainsite_template', '6', false, __('The template for the main site home breadcrumb, used only in multisite environments.', 'breadcrumb-navxt'));
558
+ $this->textbox(__('Main Site Home Template (Unlinked)', 'breadcrumb-navxt'), 'Hmainsite_template_no_anchor', '4', false, __('The template for the main site home breadcrumb, used only in multisite environments and when the breadcrumb is not linked.', 'breadcrumb-navxt'));
559
  do_action($this->unique_prefix . '_network_settings_mainsite', $this->opt);
560
  ?>
561
  </table>
566
  <h3><?php _e('Posts', 'breadcrumb-navxt'); ?></h3>
567
  <table class="form-table adminkit-enset-top">
568
  <?php
569
+ $this->textbox(__('Post Template', 'breadcrumb-navxt'), 'Hpost_post_template', '6', false, __('The template for post breadcrumbs.', 'breadcrumb-navxt'));
570
+ $this->textbox(__('Post Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_post_template_no_anchor', '4', false, __('The template for post breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
571
  $this->input_check(__('Post Hierarchy Display', 'breadcrumb-navxt'), 'bpost_post_taxonomy_display', __('Show the hierarchy (specified below) leading to a post in the breadcrumb trail.', 'breadcrumb-navxt'), false, '', 'adminkit-enset-ctrl adminkit-enset');
572
  $this->input_check(__('Post Hierarchy Referer Influence', 'breadcrumb-navxt'), 'bpost_post_taxonomy_referer', __('Allow the refereing page to influence the taxonomy selected for the hierarchy.', 'breadcrumb-navxt'), false, '', 'adminkit-enset');
573
  ?>
604
  <h3><?php _e('Pages', 'breadcrumb-navxt'); ?></h3>
605
  <table class="form-table">
606
  <?php
607
+ $this->textbox(__('Page Template', 'breadcrumb-navxt'), 'Hpost_page_template', '6', false, __('The template for page breadcrumbs.', 'breadcrumb-navxt'));
608
+ $this->textbox(__('Page Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_page_template_no_anchor', '4', false, __('The template for page breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
609
  ?>
610
  </table>
611
  <h3><?php _e('Attachments', 'breadcrumb-navxt'); ?></h3>
612
  <table class="form-table">
613
  <?php
614
+ $this->textbox(__('Attachment Template', 'breadcrumb-navxt'), 'Hpost_attachment_template', '6', false, __('The template for attachment breadcrumbs.', 'breadcrumb-navxt'));
615
+ $this->textbox(__('Attachment Template (Unlinked)', 'breadcrumb-navxt'), 'Hpost_attachment_template_no_anchor', '4', false, __('The template for attachment breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
616
  ?>
617
  </table>
618
  <?php
632
  <h3><?php echo $post_type->labels->singular_name; ?></h3>
633
  <table class="form-table adminkit-enset-top">
634
  <?php
635
+ $this->textbox(sprintf(__('%s Template', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template', '6', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $singular_name_lc));
636
+ $this->textbox(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $post_type->labels->singular_name), 'Hpost_' . $post_type->name . '_template_no_anchor', '4', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $singular_name_lc));
637
  $optid = $this->get_valid_id('apost_' . $post_type->name . '_root');
638
  ?>
639
  <tr valign="top">
699
  <h3><?php _e('Categories', 'breadcrumb-navxt'); ?></h3>
700
  <table class="form-table">
701
  <?php
702
+ $this->textbox(__('Category Template', 'breadcrumb-navxt'), 'Htax_category_template', '6', false, __('The template for category breadcrumbs.', 'breadcrumb-navxt'));
703
+ $this->textbox(__('Category Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_category_template_no_anchor', '4', false, __('The template for category breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
704
  ?>
705
  </table>
706
  <h3><?php _e('Tags', 'breadcrumb-navxt'); ?></h3>
707
  <table class="form-table">
708
  <?php
709
+ $this->textbox(__('Tag Template', 'breadcrumb-navxt'), 'Htax_post_tag_template', '6', false, __('The template for tag breadcrumbs.', 'breadcrumb-navxt'));
710
+ $this->textbox(__('Tag Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_tag_template_no_anchor', '4', false, __('The template for tag breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
711
  ?>
712
  </table>
713
  <h3><?php _e('Post Formats', 'breadcrumb-navxt'); ?></h3>
714
  <table class="form-table">
715
  <?php
716
+ $this->textbox(__('Post Format Template', 'breadcrumb-navxt'), 'Htax_post_format_template', '6', false, __('The template for post format breadcrumbs.', 'breadcrumb-navxt'));
717
+ $this->textbox(__('Post Format Template (Unlinked)', 'breadcrumb-navxt'), 'Htax_post_format_template_no_anchor', '4', false, __('The template for post_format breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
718
  ?>
719
  </table>
720
  <?php
734
  <h3><?php echo mb_convert_case($taxonomy->label, MB_CASE_TITLE, 'UTF-8'); ?></h3>
735
  <table class="form-table">
736
  <?php
737
+ $this->textbox(sprintf(__('%s Template', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template', '6', false, sprintf(__('The template for %s breadcrumbs.', 'breadcrumb-navxt'), $label_lc));
738
+ $this->textbox(sprintf(__('%s Template (Unlinked)', 'breadcrumb-navxt'), $taxonomy->labels->singular_name), 'Htax_' . $taxonomy->name . '_template_no_anchor', '4', false, sprintf(__('The template for %s breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'), $label_lc));
739
  ?>
740
  </table>
741
  <?php
748
  <h3><?php _e('Author Archives', 'breadcrumb-navxt'); ?></h3>
749
  <table class="form-table">
750
  <?php
751
+ $this->textbox(__('Author Template', 'breadcrumb-navxt'), 'Hauthor_template', '6', false, __('The template for author breadcrumbs.', 'breadcrumb-navxt'));
752
+ $this->textbox(__('Author Template (Unlinked)', 'breadcrumb-navxt'), 'Hauthor_template_no_anchor', '4', false, __('The template for author breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
753
  $this->input_select(__('Author Display Format', 'breadcrumb-navxt'), 'Sauthor_name', array("display_name", "nickname", "first_name", "last_name"), false, __('display_name uses the name specified in "Display name publicly as" under the user profile the others correspond to options in the user profile.', 'breadcrumb-navxt'));
754
  ?>
755
  </table>
756
  <h3><?php _e('Miscellaneous', 'breadcrumb-navxt'); ?></h3>
757
  <table class="form-table">
758
  <?php
759
+ $this->textbox(__('Date Template', 'breadcrumb-navxt'), 'Hdate_template', '6', false, __('The template for date breadcrumbs.', 'breadcrumb-navxt'));
760
+ $this->textbox(__('Date Template (Unlinked)', 'breadcrumb-navxt'), 'Hdate_template_no_anchor', '4', false, __('The template for date breadcrumbs, used only when the breadcrumb is not linked.', 'breadcrumb-navxt'));
761
+ $this->textbox(__('Search Template', 'breadcrumb-navxt'), 'Hsearch_template', '6', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages.', 'breadcrumb-navxt'));
762
+ $this->textbox(__('Search Template (Unlinked)', 'breadcrumb-navxt'), 'Hsearch_template_no_anchor', '4', false, __('The anchor template for search breadcrumbs, used only when the search results span several pages and the breadcrumb is not linked.', 'breadcrumb-navxt'));
763
  $this->input_text(__('404 Title', 'breadcrumb-navxt'), 'S404_title', 'regular-text');
764
+ $this->textbox(__('404 Template', 'breadcrumb-navxt'), 'H404_template', '4', false, __('The template for 404 breadcrumbs.', 'breadcrumb-navxt'));
765
  ?>
766
  </table>
767
  <h3><?php _e('Deprecated', 'breadcrumb-navxt'); ?></h3>
class.bcn_widget.php CHANGED
@@ -19,8 +19,8 @@
19
  require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
20
  class bcn_widget extends WP_Widget
21
  {
22
- const version = '5.5.2';
23
- protected $defaults = array('title' => '', 'pretext' => '', 'type' => 'microdata', 'linked' => true, 'reverse' => false, 'front' => false);
24
  //Default constructor
25
  function __construct()
26
  {
@@ -56,14 +56,14 @@ class bcn_widget extends WP_Widget
56
  {
57
  //Display the list output breadcrumb
58
  echo $instance['pretext'] . '<ol class="breadcrumb_trail breadcrumbs">';
59
- bcn_display_list(false, $instance['linked'], $instance['reverse']);
60
  echo '</ol>';
61
  }
62
  else if($instance['type'] == 'microdata')
63
  {
64
- echo '<div class="breadcrumbs" vocab="http://schema.org/" typeof="BreadcrumbList">' . $instance['pretext'];
65
  //Display the regular output breadcrumb
66
- bcn_display(false, $instance['linked'], $instance['reverse']);
67
  echo '</div>';
68
  }
69
  else if($instance['type'] == 'plain')
@@ -71,7 +71,7 @@ class bcn_widget extends WP_Widget
71
  //Display the pretext
72
  echo $instance['pretext'];
73
  //Display the regular output breadcrumb
74
- bcn_display(false, $instance['linked'], $instance['reverse']);
75
  }
76
  else
77
  {
@@ -90,6 +90,7 @@ class bcn_widget extends WP_Widget
90
  $old_instance['linked'] = isset($new_instance['linked']);
91
  $old_instance['reverse'] = isset($new_instance['reverse']);
92
  $old_instance['front'] = isset($new_instance['front']);
 
93
  return $old_instance;
94
  }
95
  function form($instance)
@@ -119,6 +120,8 @@ class bcn_widget extends WP_Widget
119
  <label for="<?php echo $this->get_field_id('reverse'); ?>"> <?php _e('Reverse the order of the trail', 'breadcrumb-navxt'); ?></label><br />
120
  <input class="checkbox" type="checkbox" name="<?php echo $this->get_field_name('front'); ?>" id="<?php echo $this->get_field_id('front'); ?>" value="true" <?php checked(true, $instance['front']);?> />
121
  <label for="<?php echo $this->get_field_id('front'); ?>"> <?php _e('Hide the trail on the front page', 'breadcrumb-navxt'); ?></label><br />
 
 
122
  </p>
123
  <?php
124
  }
19
  require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
20
  class bcn_widget extends WP_Widget
21
  {
22
+ const version = '5.6.0';
23
+ protected $defaults = array('title' => '', 'pretext' => '', 'type' => 'microdata', 'linked' => true, 'reverse' => false, 'front' => false, 'force' => false);
24
  //Default constructor
25
  function __construct()
26
  {
56
  {
57
  //Display the list output breadcrumb
58
  echo $instance['pretext'] . '<ol class="breadcrumb_trail breadcrumbs">';
59
+ bcn_display_list(false, $instance['linked'], $instance['reverse'], $instance['force']);
60
  echo '</ol>';
61
  }
62
  else if($instance['type'] == 'microdata')
63
  {
64
+ echo '<div class="breadcrumbs" vocab="https://schema.org/" typeof="BreadcrumbList">' . $instance['pretext'];
65
  //Display the regular output breadcrumb
66
+ bcn_display(false, $instance['linked'], $instance['reverse'], $instance['force']);
67
  echo '</div>';
68
  }
69
  else if($instance['type'] == 'plain')
71
  //Display the pretext
72
  echo $instance['pretext'];
73
  //Display the regular output breadcrumb
74
+ bcn_display(false, $instance['linked'], $instance['reverse'], $instance['force']);
75
  }
76
  else
77
  {
90
  $old_instance['linked'] = isset($new_instance['linked']);
91
  $old_instance['reverse'] = isset($new_instance['reverse']);
92
  $old_instance['front'] = isset($new_instance['front']);
93
+ $old_instance['force'] = isset($new_instance['force']);
94
  return $old_instance;
95
  }
96
  function form($instance)
120
  <label for="<?php echo $this->get_field_id('reverse'); ?>"> <?php _e('Reverse the order of the trail', 'breadcrumb-navxt'); ?></label><br />
121
  <input class="checkbox" type="checkbox" name="<?php echo $this->get_field_name('front'); ?>" id="<?php echo $this->get_field_id('front'); ?>" value="true" <?php checked(true, $instance['front']);?> />
122
  <label for="<?php echo $this->get_field_id('front'); ?>"> <?php _e('Hide the trail on the front page', 'breadcrumb-navxt'); ?></label><br />
123
+ <input class="checkbox" type="checkbox" name="<?php echo $this->get_field_name('force'); ?>" id="<?php echo $this->get_field_id('force'); ?>" value="true" <?php checked(true, $instance['force']);?> />
124
+ <label for="<?php echo $this->get_field_id('force'); ?>"> <?php _e('Ignore breadcrumb cache', 'breadcrumb-navxt'); ?></label><br />
125
  </p>
126
  <?php
127
  }
includes/class.mtekk_adminkit.php CHANGED
@@ -939,12 +939,21 @@ abstract class mtekk_adminKit
939
  */
940
  function textbox($label, $option, $height = '3', $disable = false, $description = '')
941
  {
942
- $optid = $this->get_valid_id($option);?>
943
- <p>
944
- <label for="<?php echo $optid;?>"><?php echo $label;?></label>
945
- </p>
946
- <textarea rows="<?php echo $height;?>" <?php if($disable){echo 'disabled="disabled" class="large-text code disabled"';}else{echo 'class="large-text code"';}?> id="<?php echo $optid;?>" name="<?php echo $this->unique_prefix . '_options[' . $option;?>]"><?php echo htmlentities($this->opt[$option], ENT_COMPAT, 'UTF-8');?></textarea><br />
947
- <?php if($description !== ''){?><p class="description"><?php echo $description;?></p><?php }
 
 
 
 
 
 
 
 
 
948
  }
949
  /**
950
  * This will output a well formed tiny mce ready textbox
939
  */
940
  function textbox($label, $option, $height = '3', $disable = false, $description = '')
941
  {
942
+ $optid = $this->get_valid_id($option);
943
+ if($disable)
944
+ {?>
945
+ <input type="hidden" name="<?php echo $this->unique_prefix . '_options[' . $option;?>]" value="<?php echo htmlentities($this->opt[$option], ENT_COMPAT, 'UTF-8');?>" />
946
+ <?php } ?>
947
+ <tr valign="top">
948
+ <th scope="row">
949
+ <label for="<?php echo $optid;?>"><?php echo $label;?></label>
950
+ </th>
951
+ <td>
952
+ <textarea rows="<?php echo $height;?>" <?php if($disable){echo 'disabled="disabled" class="large-text code disabled"';}else{echo 'class="large-text code"';}?> id="<?php echo $optid;?>" name="<?php echo $this->unique_prefix . '_options[' . $option;?>]"><?php echo htmlentities($this->opt[$option], ENT_COMPAT, 'UTF-8');?></textarea><br />
953
+ <?php if($description !== ''){?><p class="description"><?php echo $description;?></p><?php }?>
954
+ </td>
955
+ </tr>
956
+ <?php
957
  }
958
  /**
959
  * This will output a well formed tiny mce ready textbox
phpunit.xml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <phpunit
2
+ bootstrap="tests/bootstrap.php"
3
+ backupGlobals="false"
4
+ colors="true"
5
+ convertErrorsToExceptions="true"
6
+ convertNoticesToExceptions="true"
7
+ convertWarningsToExceptions="true"
8
+ >
9
+ <testsuites>
10
+ <testsuite>
11
+ <directory prefix="test-" suffix=".php">./tests/</directory>
12
+ </testsuite>
13
+ </testsuites>
14
+ <groups>
15
+ <exclude>
16
+ <group>uninstall</group>
17
+ </exclude>
18
+ </groups>
19
+ </phpunit>
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: mtekk, hakre
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=FD5XEU783BR8U&lc=US&item_name=Breadcrumb%20NavXT%20Donation&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
4
  Tags: breadcrumb, breadcrumbs, trail, navigation, menu, widget
5
  Requires at least: 4.4
6
- Tested up to: 4.6
7
- Stable tag: 5.5.2
8
  License: GPLv2 or later
9
  Adds breadcrumb navigation showing the visitor's path to their current location.
10
 
@@ -33,7 +33,7 @@ Breadcrumb NavXT now supports WordPress.org language packs. Want to translate Br
33
 
34
  == Installation ==
35
  Open the appropriate file for your theme (typically header.php). This can be done within WordPress’ administration panel through Presentation > Theme Editor or through your favorite text editor. Place the following code where you want the breadcrumb trail to appear.
36
- `<div class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/">
37
  <?php if(function_exists('bcn_display'))
38
  {
39
  bcn_display();
@@ -53,6 +53,14 @@ Please visit [Breadcrumb NavXT's Documentation](http://mtekk.us/code/breadcrumb-
53
 
54
  == Changelog ==
55
 
 
 
 
 
 
 
 
 
56
  = 5.5.2 =
57
  Release date: September 30th, 2016
58
 
@@ -199,11 +207,11 @@ Release date: November 20th, 2013
199
 
200
  == Upgrade Notice ==
201
 
 
 
 
202
  = 5.5.0 =
203
  This version requires PHP5.3 or newer. This version introduces contextually aware taxonomy selection for post hierarchies.
204
 
205
  = 5.4.0 =
206
- This version requires PHP5.3 or newer. This version introduces three new filters: `bcn_post_terms`, `bcn_add_post_type_arg`, and `bcn_pick_post_term`.
207
-
208
- = 5.3.0 =
209
- This version requires PHP5.3 or newer. This version adds in support for post type restricted archives (date and taxonomy).
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=FD5XEU783BR8U&lc=US&item_name=Breadcrumb%20NavXT%20Donation&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted
4
  Tags: breadcrumb, breadcrumbs, trail, navigation, menu, widget
5
  Requires at least: 4.4
6
+ Tested up to: 4.7
7
+ Stable tag: 5.6.0
8
  License: GPLv2 or later
9
  Adds breadcrumb navigation showing the visitor's path to their current location.
10
 
33
 
34
  == Installation ==
35
  Open the appropriate file for your theme (typically header.php). This can be done within WordPress’ administration panel through Presentation > Theme Editor or through your favorite text editor. Place the following code where you want the breadcrumb trail to appear.
36
+ `<div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/">
37
  <?php if(function_exists('bcn_display'))
38
  {
39
  bcn_display();
53
 
54
  == Changelog ==
55
 
56
+ = 5.6.0 =
57
+ Release date: December 23rd, 2016
58
+
59
+ * New feature: Added fourth parameter, `$force`, to `bcn_display()`, and `bcn_display_list()` allowing the internal caching mechanism to be bypassed.
60
+ * New feature: Moved to multiple line text boxes rather than regular single line text inputs for the breadcrumb templates in the settings page to enhance visibility.
61
+ * Bug fix: Fixed issue where general searches had the blog breadcrumb in the breadcrumb trail.
62
+ * Bug fix: Fixed issue where the blog breadcrumb options were erroneously made available when a Posts Page was not set.
63
+
64
  = 5.5.2 =
65
  Release date: September 30th, 2016
66
 
207
 
208
  == Upgrade Notice ==
209
 
210
+ = 5.6.0 =
211
+ This version requires PHP5.3 or newer. This version introduces a new 4th optional parameter to `bcn_display()` and `bcn_display_list()` that bypasses the internal caching mechanism.
212
+
213
  = 5.5.0 =
214
  This version requires PHP5.3 or newer. This version introduces contextually aware taxonomy selection for post hierarchies.
215
 
216
  = 5.4.0 =
217
+ This version requires PHP5.3 or newer. This version introduces three new filters: `bcn_post_terms`, `bcn_add_post_type_arg`, and `bcn_pick_post_term`.