Jake Vanderwerf
2026-03-03 772462eeca3002a1d52508aeba485aab2b4742ad
inc/blocks/TimelineBlock.php
@@ -2,7 +2,8 @@
namespace JVBase\blocks;
use JVBase\managers\Cache;
use JVBase\meta\MetaManager;
use JVBase\meta\Meta;
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
use WP_Block;
@@ -47,7 +48,8 @@
    public function render(array $attributes, string $content, WP_Block $block)
    {
      global $post;
      if (!$post || !Features::forContent(jvbNoBase($post->post_type))->has('is_timeline') ) {
      $registrar = Registrar::getInstance($post->post_type));
      if (!$post || !$registrar || !$registrar->hasFeature('is_timeline') ) {
         return '';
      }
      $this->parentID = $post->ID;
@@ -87,7 +89,7 @@
   }
    protected function renderHeader():void
    {
      $meta = new MetaManager($this->parentID, 'post');
      $meta = Meta::forPost($this->parentID);
      $sharedFields = JVB()->routes('content')->getTimelineSharedFields($this->content);
      $fields = $meta->getAll($sharedFields);
      $extra = $meta->getAll();
@@ -100,15 +102,15 @@
               if ($value === '' || $slug === 'person') {
                  continue;
               }
               $config = JVB_TAXONOMY[$slug];
               $registrar = Registrar::getInstance($slug);
               $taxSlug = jvbCheckBase($slug);
               $terms = get_the_terms($this->parentID, $taxSlug);
               if ($terms && !is_wp_error($terms)) {
                  $many = count($terms) > 1;
               ?>
               <li class="<?=$slug?>">
                  <span title="<?= $config['singular']?>" class="term tldr" data-short="" data-long="<?= $config['singular']?>">
                     <?=jvbIcon($config['icon']??jvbDefaultIcon())?>
                  <span title="<?= $registrar->getSingular()?>" class="term tldr" data-short="" data-long="<?= $registrar->getSingular()?>">
                     <?=jvbIcon($registrar->getIcon())?>
                     <span></span>
                  </span>
                  <?php
@@ -174,7 +176,7 @@
      $uniqueFields = JVB()->routes('content')->getTimelineUniqueFields($this->content);
      foreach ($all as $i => $ID) {
         $meta = new MetaManager($ID, 'post');
         $meta = Meta::forPost($ID);
         $fields = $meta->getAll($uniqueFields);
         $plural = ($i>1) ? 's': '';
@@ -219,9 +221,10 @@
         return '';
      }
      $out = '<ul class="term-list">';
      $registrar = Registrar::getInstance('timeline');
      foreach ($timeline as $term) {
         $link = get_term_link($term->term_id, BASE.'timeline');
         $out .= '<li><a href="'.$link.'" rel="tag" title="See more progressions at this timeline">'.jvbIcon(JVB_TAXONOMY['timeline']['icon']??'hourglass').html_entity_decode($term->name).'</a><small>after the treatment</small></li>';
         $out .= '<li><a href="'.$link.'" rel="tag" title="See more progressions at this timeline">'.jvbIcon($registrar->getIcon('hourglass')).html_entity_decode($term->name).'</a><small>after the treatment</small></li>';
      }
      $out .='</ul>';
      return $out;