From 4dd7f7e258d382dbf73ff5beb1f43e03476b36cf Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 10 Feb 2026 21:08:23 +0000
Subject: [PATCH] =Taxonomy selector fixes in Form.php and TaxonomySelector.js
---
inc/managers/SEO/SchemaFieldHelpers.php | 34 +++++++++++++++++++++++++++-------
1 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/inc/managers/SEO/SchemaFieldHelpers.php b/inc/managers/SEO/SchemaFieldHelpers.php
index 6b9ba0d..e3d544c 100644
--- a/inc/managers/SEO/SchemaFieldHelpers.php
+++ b/inc/managers/SEO/SchemaFieldHelpers.php
@@ -1,7 +1,7 @@
<?php
namespace JVBase\managers\SEO;
-use JVBase\meta\MetaManager;
+use JVBase\meta\Meta;
if (!defined('ABSPATH')) {
exit;
@@ -21,10 +21,10 @@
*
* @param string $fieldName Field name
* @param mixed $value Raw value
- * @param MetaManager|null $meta Optional MetaManager for accessing related fields
+ * @param Meta|null $meta Optional Meta for accessing related fields
* @return mixed Enhanced value
*/
- public static function autoResolve(string $fieldName, mixed $value, ?MetaManager $meta = null): mixed
+ public static function autoResolve(string $fieldName, mixed $value, ?Meta $meta = null): mixed
{
// Skip empty values
if ($value === null || $value === '') {
@@ -72,7 +72,7 @@
// Rating -> AggregateRating (needs rating_count from meta)
'rating'
- => $meta ? self::buildAggregateRating($value, $meta->getValue('rating_count')) : $value,
+ => $meta ? self::buildAggregateRating($value, $meta->get('rating_count')) : $value,
// Geo coordinates
'geo'
@@ -197,7 +197,7 @@
*
* Returns array with 'address' and 'geo' keys
*
- * @param array $location Location data from MetaManager
+ * @param array $location Location data from Meta
* @return array Schema with address and geo fields
*/
public static function buildLocation(array $location): array
@@ -263,7 +263,7 @@
/**
* Build opening hours from repeater field
*
- * @param array $hours Hours data from MetaManager
+ * @param array $hours Hours data from Meta
* @return array Schema with openingHours field
*/
public static function buildOpeningHours(array $hours): array
@@ -293,7 +293,7 @@
/**
* Build sameAs array from links repeater
*
- * @param array $links Links data from MetaManager
+ * @param array $links Links data from Meta
* @return array Schema with sameAs field
*/
public static function buildSameAs(array $links): array
@@ -981,6 +981,26 @@
return $formatted;
}
+
+ /**
+ * Build a JSON-LD @id reference
+ * String → ['@id' => $value], array with @id → pass through
+ */
+ public static function reference(mixed $value): array|string
+ {
+ if (is_array($value) && isset($value['@id'])) {
+ return $value;
+ }
+
+ if (is_string($value) && !empty($value)) {
+ return ['@id' => $value];
+ }
+
+ return $value;
+ }
+
+
+
/**
* Build SiteNavigationElement array from navigation items
*/
--
Gitblit v1.10.0