From 9f672be1f7bb5f8462374ca4732d095d4f24685b Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 29 Mar 2026 23:11:13 +0000
Subject: [PATCH] =minor fixes upon uploading to server

---
 inc/managers/SEO/ConfigManager.php |   49 +++++++++++++++++++++++++++++--------------------
 1 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/inc/managers/SEO/ConfigManager.php b/inc/managers/SEO/ConfigManager.php
index c66bba3..b16a675 100644
--- a/inc/managers/SEO/ConfigManager.php
+++ b/inc/managers/SEO/ConfigManager.php
@@ -1,6 +1,8 @@
 <?php
 namespace JVBase\managers\SEO;
 
+use JVBase\registrar\Registrar;
+
 if (!defined('ABSPATH')) {
 	exit;
 }
@@ -72,10 +74,35 @@
 	protected function getMetaFor(string $type): array
 	{
 		$default = $this->registry->getDefaultMetaValues();
+
+		// Check if content/taxonomy config has SEO meta defined
+		$configMeta = $this->getDefaultConfig($type, 'meta');
+		if (!empty($configMeta)) {
+			$configMeta = $this->normalizeMetaKeys($configMeta);
+			$default = array_merge($default, $configMeta);
+		}
+
 		return get_option($this->metaKey, $default);
 	}
 
 	/**
+	 * Normalize content-defined meta keys to system keys
+	 */
+	private function normalizeMetaKeys(array $meta): array
+	{
+		$map = [
+			'title'       => 'metaTitle',
+			'description' => 'metaDescription',
+		];
+
+		$normalized = [];
+		foreach ($meta as $key => $value) {
+			$normalized[$map[$key] ?? $key] = $value;
+		}
+		return $normalized;
+	}
+
+	/**
 	 * Get default schema configuration for a type
 	 */
 	protected function getConfigFor(string $type): array
@@ -119,10 +146,8 @@
 
 			default:
 				// Try to find in content, taxonomy, or user configs
-				$config = $this->findInConstants($type);
-				if (array_key_exists('seo', $config) && is_array($config['seo'])) {
-					$config = $config['seo'];
-				}
+				$registrar = Registrar::getInstance($type);
+				$config = $registrar->getConfig('seo');
 
 				// If asking for archive config and none exists, provide default
 				if ($configType === 'archive' && !isset($config['archive'])) {
@@ -136,22 +161,6 @@
 				return $config[$configType] ?? [];
 		}
 	}
-	/**
-	 * Find configuration in JVB constants
-	 */
-	private function findInConstants(string $type): array
-	{
-		if (defined('JVB_CONTENT') && isset(JVB_CONTENT[$type])) {
-			return JVB_CONTENT[$type];
-		}
-		if (defined('JVB_TAXONOMY') && isset(JVB_TAXONOMY[$type])) {
-			return JVB_TAXONOMY[$type];
-		}
-		if (defined('JVB_USER') && isset(JVB_USER[$type])) {
-			return JVB_USER[$type];
-		}
-		return [];
-	}
 
 	public function resetConfig(): bool
 	{

--
Gitblit v1.10.0