Jake Vanderwerf
2025-12-23 25be5747a6e462a3d09fc6607b3639b79e4d9374
inc/managers/SEO/BreadcrumbManager.php
@@ -45,14 +45,30 @@
         return [];
      }
      $key = get_queried_object_id() ?: 'home';
      $crumbs = $this->cache->get($key);
      switch (true) {
         case is_singular():
            $key = get_queried_object_id();
            break;
         case is_post_type_archive():
            $obj = get_queried_object();
            $key = $obj->name;
            break;
         case is_tax():
            $obj = get_queried_object();
            $key = $obj->taxonomy;
            break;
         default:
            $key = 'home';
            break;
      }
      $crumbs = $this->cache->get($key);
      if ($crumbs !== false) {
         return $crumbs;
      }
      $crumbs = $this->buildCrumbs();
      $crumbs = apply_filters('jvbBreadcrumbs',$crumbs);
      $this->cache->set($key, $crumbs);
      return $crumbs;
@@ -73,7 +89,6 @@
      ];
      $obj = get_queried_object();
      if (is_tax()) {
         $crumbs = $this->addTaxonomyCrumbs($crumbs, $obj);
      } elseif (is_singular()) {
@@ -171,7 +186,7 @@
      if (array_key_exists($name, JVB_CONTENT)) {
         $crumbs[] = [
            'name' => JVB_CONTENT[$name]['breadcrumb'] ?? JVB_CONTENT[$name]['plural'],
            'url'  => get_post_type_archive_link($type),
            'url'  => get_post_type_archive_link($type)
         ];
      }
@@ -241,6 +256,7 @@
      $out .= '<ol itemscope itemtype="https://schema.org/BreadcrumbList">';
      $position = 1;
      $total = count($crumbs);
      foreach ($crumbs as $crumb) {
         $label = '<span itemprop="name">' . strtolower($crumb['name']) . '</span>';
@@ -253,8 +269,7 @@
         // Add link if URL exists and not current page
         if ($crumb['url'] !== false) {
            $isCurrent = isset($crumb['id']) && $crumb['id'] === get_queried_object_id();
            if (!$isCurrent) {
            if ($total !== $position) {
               $aOpen = '<a itemprop="item" href="' . esc_url($crumb['url']) . '" title="' . esc_attr($crumb['name']) . '">';
               $aClose = '</a>';
            }