Jake Vanderwerf
2026-02-09 4f944e6fe547f14ab76b2e4fd55248fac40a9b07
=Schema registry patch
3 files modified
41 ■■■■■ changed files
inc/managers/SEO/SchemaOutputManager.php 1 ●●●● patch | view | raw | blame | history
inc/managers/SEO/schemas/SchemaResolverRegistry.php 24 ●●●● patch | view | raw | blame | history
inc/managers/SEO/schemas/_setup.php 16 ●●●● patch | view | raw | blame | history
inc/managers/SEO/SchemaOutputManager.php
@@ -2,6 +2,7 @@
namespace JVBase\managers\SEO;
use JVBase\managers\Cache;
use JVBase\managers\SEO\schemas\SchemaResolverRegistry;
use JVBase\meta\Meta;
use JVBase\managers\SEO\schemas\SchemaDefinition;
use WP_Term;
inc/managers/SEO/schemas/SchemaResolverRegistry.php
@@ -1,9 +1,12 @@
<?php
namespace JVBase\managers\SEO;
namespace JVBase\managers\SEO\schemas;
use JVBase\managers\SEO\schemas\SchemaResolverInterface;
use JVBase\managers\SEO\SchemaBuilder;
use JVBase\managers\SEO\schemas\resolvers\BaseResolver;
use JVBase\managers\SEO\schemas\resolvers\CollectionPageResolver;
use JVBase\managers\SEO\schemas\resolvers\LocalBusinessResolver;
use JVBase\managers\SEO\schemas\resolvers\PersonResolver;
use JVBase\managers\SEO\schemas\resolvers\VisualArtworkResolver;
/**
 * Registry mapping schema types to their resolvers.
 * Like Queue's TypeRegistry maps operation types to executors.
@@ -54,7 +57,18 @@
    private function registerDefaults(): void
    {
        // Register type-specific resolvers
        // Extensible via the action hook above
        $localBusiness = new LocalBusinessResolver();
        $this->register('LocalBusiness', $localBusiness);
        $visualArtwork = new VisualArtworkResolver();
        $this->register('VisualArtwork', $visualArtwork);
        $this->register('CreativeWork', new BaseResolver());
        $this->register('Person', new PersonResolver());
        $collection = new CollectionPageResolver();
        $this->register('CollectionPage', $collection);
        $this->register('FAQPage', $collection);
        $this->register('DefinedTermSet', $collection);
    }
}
inc/managers/SEO/schemas/_setup.php
@@ -13,14 +13,14 @@
}
// Core
require(JVB_DIR . '/inc/managers/SEO/schemas/SchemaDefinition.php');
require(JVB_DIR . '/inc/managers/SEO/schemas/SchemaResolverInterface.php');
require_once JVB_DIR . '/inc/managers/SEO/schemas/SchemaDefinition.php';
require_once JVB_DIR . '/inc/managers/SEO/schemas/SchemaResolverInterface.php';
// Resolvers
require(JVB_DIR . '/inc/managers/SEO/schemas/resolvers/BaseResolver.php');
require(JVB_DIR . '/inc/managers/SEO/schemas/resolvers/LocalBusinessResolver.php');
require(JVB_DIR . '/inc/managers/SEO/schemas/resolvers/VisualArtworkResolver.php');
require(JVB_DIR . '/inc/managers/SEO/schemas/resolvers/PersonResolver.php');
require(JVB_DIR . '/inc/managers/SEO/schemas/resolvers/CollectionPageResolver.php');
require_once JVB_DIR . '/inc/managers/SEO/schemas/resolvers/BaseResolver.php';
require_once JVB_DIR . '/inc/managers/SEO/schemas/resolvers/LocalBusinessResolver.php';
require_once JVB_DIR . '/inc/managers/SEO/schemas/resolvers/VisualArtworkResolver.php';
require_once JVB_DIR . '/inc/managers/SEO/schemas/resolvers/PersonResolver.php';
require_once JVB_DIR . '/inc/managers/SEO/schemas/resolvers/CollectionPageResolver.php';
require(JVB_DIR . '/inc/managers/SEO/schemas/_setup.php');
require_once JVB_DIR . '/inc/managers/SEO/schemas/_setup.php';