Jake Vanderwerf
2026-09-15 01e9a8e40351a87f6548a4f55de842d6f6918ad0
inc/managers/SEO/render/Traits/ThingSchema.php
@@ -10,7 +10,6 @@
use JVBase\managers\SEO\render\DataType\DateTime;
use JVBase\managers\SEO\render\DataType\Time;
use JVBase\managers\SEO\render\Thing\CreativeWork\MediaObject\ImageObject;
use JVBase\managers\SEO\render\Thing\Intangible\StructuredValue\PropertyValue;
use JVBase\managers\SEO\render\Thing\Thing;
use JVBase\managers\SEO\render\Traits\_Properties\additionalTypeTrait;
use JVBase\managers\SEO\render\Traits\_Properties\alternateNameTrait;
@@ -24,6 +23,7 @@
use JVBase\managers\SEO\render\Traits\_Properties\sameAsTrait;
use JVBase\managers\SEO\render\Traits\_Properties\subjectOfTrait;
use JVBase\managers\SEO\render\Traits\_Properties\urlTrait;
use ReflectionClass;
trait ThingSchema {
   use additionalTypeTrait, alternateNameTrait, descriptionTrait,
@@ -31,16 +31,17 @@
      nameTrait, ownerTrait, potentialActionTrait, sameAsTrait, subjectOfTrait, urlTrait;
   protected string $id;
   protected bool $showID = true;
   protected array $ignore = [
      'mappedMethods',
      'ignore',
      'id'
      'id',
      'showID',
   ];
   public function outputSchema():array
   {
      global $wp;
      $current = home_url( add_query_arg( $_GET, $wp->request ) );
      $current = get_home_url(null, add_query_arg( $_GET, $wp->request ) );
      $id = (isset($this->id)) ? $this->id : $current.'/#'.strtolower($this->getTypeName());
      $elements = array_map(
         function ($value) {
@@ -76,15 +77,16 @@
         }, ARRAY_FILTER_USE_KEY)
      );
      return  array_merge([
      $id = $this->showID ? ['@id' => $id] : [];
      return  array_merge($id, [
         '@type'  => $this->getTypeName(),
         '@id' => $id,
      ], array_filter($elements));
   }
   public function getTypeName():string
   {
      return (new \ReflectionClass($this))->getShortName();
      return (new ReflectionClass($this))->getShortName();
   }
   public function getProperties():array
@@ -133,7 +135,7 @@
   public static function createImageFromID(int $ID):ImageObject|false
   {
      $cache = Cache::for('schemaImage')->connect('post');
      $cache = Cache::for('schemaImage', 'post');
      return $cache->remember(
         $ID,
         function() use($ID) {
@@ -161,4 +163,10 @@
      );
   }
   public function showID(bool $showIt = true):void
   {
      $this->showID = $showIt;
   }
}