From 25be5747a6e462a3d09fc6607b3639b79e4d9374 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 23 Dec 2025 20:11:26 +0000
Subject: [PATCH] =EmailManager.php refactor, Turnstile properly integrated with form submissions
---
inc/managers/SEO/BreadcrumbManager.php | 29 ++++++++++++++++++++++-------
1 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/inc/managers/SEO/BreadcrumbManager.php b/inc/managers/SEO/BreadcrumbManager.php
index 529dd76..538a5e8 100644
--- a/inc/managers/SEO/BreadcrumbManager.php
+++ b/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()) {
@@ -166,12 +181,12 @@
*/
private function addArchiveCrumbs(array $crumbs, object $obj): array
{
- $type = is_singular() ? $obj->post_type : $obj -> name;
+ $type = is_singular() ? $obj->post_type : $obj->name;
$name = jvbNoBase($type);
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>';
}
--
Gitblit v1.10.0