From a24a06002081ad71a78ffeff9072725ba39cf121 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 17 Feb 2026 20:05:31 +0000
Subject: [PATCH] =minor changes, particularly around the JVB_CHILD_URL pattern

---
 inc/managers/SEO/SchemaBuilder.php |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/inc/managers/SEO/SchemaBuilder.php b/inc/managers/SEO/SchemaBuilder.php
index 12bf00f..9ed0174 100644
--- a/inc/managers/SEO/SchemaBuilder.php
+++ b/inc/managers/SEO/SchemaBuilder.php
@@ -47,10 +47,10 @@
 	private array $metaFields = ['metaTitle', 'metaDescription', 'socialPreviewImage', 'twitterImage'];
 
 	private array $defaultMetaValues = [
-		'title' => '{{post_title}} | {{site_name}}',
-		'description' => '{{post_excerpt}}',
-		'image' => '{{featured_image}}',
-		'twitter_image' => ''
+		'metaTitle'          => '{{post_title}}',
+		'metaDescription'    => '{{post_excerpt}}',
+		'socialPreviewImage' => '{{featured_image}}',
+		'twitterImage'       => ''
 	];
 
 	public static function getInstance(): self
@@ -124,17 +124,10 @@
 	 */
 	public function getFieldDefinition(string $fieldName): ?array
 	{
-		$definitions = $this->getFieldDefinitions();
+		$definitions = apply_filters(BASE . 'schema_field_definitions', $this->fieldDefinitions);
 		return $definitions[$fieldName] ?? null;
 	}
 
-	/**
-	 * Get all field definitions
-	 */
-	public function getFieldDefinitions(): array
-	{
-		return apply_filters(BASE . 'schema_field_definitions', $this->fieldDefinitions);
-	}
 
 	/**
 	 * Get type definition
@@ -192,7 +185,7 @@
 	}
 
 	/**
-	 * Get MetaManager configuration for a schema type
+	 * Get Meta configuration for a schema type
 	 * This creates the form fields for the selected @type
 	 */
 	public function getMetaConfigForType(string $type): array
@@ -407,7 +400,7 @@
 		 **************************************************************/
 		$this->field('about')
 			->type('reference')
-			->label('About (Service/Topic)')
+			->label('About')
 			->transformer('reference');
 
 		$this->field('temporalCoverage')
@@ -1494,6 +1487,32 @@
 				'answer'
 			]);
 
+		$this->type('Place')
+			->label('Place')
+			->group('general')
+			->fields([
+				'type',
+				'name',
+				'description',
+				'url',
+				'image',
+				'geo',
+				'address',
+				'sameAs',
+			]);
+
+		$this->type('City')
+			->label('City')
+			->group('general')
+			->extends('Place')
+			->addFields([
+				'containedInPlace',
+			]);
+		$this->field('containedInPlace')
+			->type('reference')
+			->label('Contained In')
+			->description('Parent place (province, country)')
+			->transformer('reference');
 		/**************************************************************
 		 * ORGANIZATION & BUSINESS
 		 **************************************************************/

--
Gitblit v1.10.0