From 86c6cd3cc099d2480932ede03c12cea01e625c94 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 26 Apr 2026 21:56:28 +0000
Subject: [PATCH] =Requiring files based on Site class settings
---
inc/managers/SEO/SchemaBuilder.php | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/inc/managers/SEO/SchemaBuilder.php b/inc/managers/SEO/SchemaBuilder.php
index 51eeba7..d4a2ee6 100644
--- a/inc/managers/SEO/SchemaBuilder.php
+++ b/inc/managers/SEO/SchemaBuilder.php
@@ -1,6 +1,8 @@
<?php
namespace JVBase\managers\SEO;
+use JVBase\registrar\Registrar;
+
if (!defined('ABSPATH')) {
exit;
}
@@ -47,7 +49,7 @@
private array $metaFields = ['metaTitle', 'metaDescription', 'socialPreviewImage', 'twitterImage'];
private array $defaultMetaValues = [
- 'metaTitle' => '{{post_title}} | {{site_name}}',
+ 'metaTitle' => '{{post_title}}',
'metaDescription' => '{{post_excerpt}}',
'socialPreviewImage' => '{{featured_image}}',
'twitterImage' => ''
@@ -243,9 +245,11 @@
{
$options = ['' => '-- Select Post Type --'];
- if (defined('JVB_CONTENT')) {
- foreach (JVB_CONTENT as $key => $config) {
- $options[jvbCheckBase($key)] = $config['plural'] ?? $config['singular'] ?? ucwords($key);
+ $content = Registrar::getRegistered('post');
+ if (!empty($content)){
+ foreach ($content as $c) {
+ $registrar = Registrar::getInstance($c);
+ $options[jvbCheckBase($c)] = $registrar->getPlural();
}
}
@@ -259,9 +263,12 @@
{
$options = ['' => '-- Select Taxonomy --'];
- if (defined('JVB_TAXONOMY')) {
- foreach (JVB_TAXONOMY as $key => $config) {
- $options[jvbCheckBase($key)] = $config['plural'] ?? $config['singular'] ?? ucwords($key);
+
+ $tax = Registrar::getRegistered('term');
+ if (!empty($tax)){
+ foreach ($tax as $c) {
+ $registrar = Registrar::getInstance($c);
+ $options[jvbCheckBase($c)] = $registrar->getPlural();
}
}
@@ -400,7 +407,7 @@
**************************************************************/
$this->field('about')
->type('reference')
- ->label('About (Service/Topic)')
+ ->label('About')
->transformer('reference');
$this->field('temporalCoverage')
@@ -1487,6 +1494,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