From c19264ac916707096fe294d996a1b7fb85206b34 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 08 Mar 2026 19:55:31 +0000
Subject: [PATCH] =Furthering along the complete refactor. Added some basic setup for is_content taxonomies, including a page for an archive of the terms.

---
 inc/managers/SEO/render/SchemaOutput.php |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/inc/managers/SEO/render/SchemaOutput.php b/inc/managers/SEO/render/SchemaOutput.php
index d187f7d..6109e90 100644
--- a/inc/managers/SEO/render/SchemaOutput.php
+++ b/inc/managers/SEO/render/SchemaOutput.php
@@ -49,9 +49,24 @@
 			$registrar = Registrar::getInstance($type);
 			if ($registrar && !empty($registrar->getConfig('seo')['schema']??[])) {
 				$seo = $registrar->getSEO();
+				error_log('SEO: '.print_r($seo->schema(), true));
 				$schema[] = $seo->schema()->outputArchiveSchema();
 			}
 		}
+		$isContent = array_values(array_filter(array_map(function($item) {
+			return intval(get_option(BASE.$item.'_archive', false));
+		},Registrar::getFeatured('is_content', 'term'))));
+
+		if (is_page($isContent)){
+			$type = get_post_meta(get_the_id(), BASE.'for_type', true);
+			error_log('Type: '.print_r($type, true));
+			$registrar = Registrar::getInstance($type);
+			if ($registrar) {
+				$schema[] = $registrar->getSEO()->schema()->outputContentTaxArchiveSchema();
+			}
+		}
+
+
 
 		$breadcrumbs = $this->buildBreadcrumbs();
 		if ($breadcrumbs) {
@@ -61,7 +76,9 @@
 		if (!empty($schema)) {
 			$website = get_option(BASE.'WebsiteSchema');
 			if (!empty($website)) {
-				Cache::for('websiteSchema')->flush();
+				if (JVB_TESTING) {
+					Cache::for('websiteSchema')->flush();
+				}
 				$website = Cache::for('websiteSchema')->remember(
 					'schema',
 					function () {
@@ -104,6 +121,7 @@
 		echo '<script type="application/ld+json">' . "\n";
 		echo wp_json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
 		echo "\n" . '</script>' . "\n";
+		echo "\n" . '<!-- / SEO Schema by JakeVan -->'."\n";
 	}
 
 	public function buildBreadcrumbs():array
@@ -112,7 +130,11 @@
 	}
 
 	public function buildBasicWebsiteSchema():array
-	{	Cache::for('websiteSchema')->flush();
+	{
+		if (JVB_TESTING){
+			Cache::for('websiteSchema')->flush();
+		}
+
 		return Cache::for('websiteSchema')->remember(
 			'reference',
 			function () {
@@ -137,7 +159,10 @@
 
 	public function getCreator(bool $reference = false):LocalBusiness
 	{
-		Cache::for('JakeVanCreator')->flush();
+		if (JVB_TESTING){
+			Cache::for('JakeVanCreator')->flush();
+		}
+
 		if ($reference) {
 			return Cache::for('JakeVanCreator')->remember(
 				'reference',

--
Gitblit v1.10.0