Jake Vanderwerf
2026-02-10 c45b0798568d2aa6b388ecbd9bffa5de7e9a34ae
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
@@ -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
       **************************************************************/