Jake Vanderwerf
2026-09-15 bdf344f19158a980a99dcca7c82c6e34e84533c0
inc/blocks/SummaryBlock.php
@@ -2,7 +2,6 @@
namespace JVBase\blocks;
use JVBase\managers\Cache;
use JVBase\forms\TaxonomySelector;
use WP_Block;
if (!defined('ABSPATH')) {
@@ -28,9 +27,7 @@
        $this->cache = Cache::for('summary_block', 'post', WEEK_IN_SECONDS);
        add_action('init', [ $this, 'registerBlock' ]);
      add_action('wp_enqueue_scripts', [$this, 'enqueueScripts']);
      if (JVB_TESTING) {
         $this->cache->flush();
      }
    }
    public function registerBlock()
@@ -50,21 +47,10 @@
        return (is_tax()) ? 'tax' : 'content';
    }
    protected function generateKey():string
    {
        $obj = get_queried_object();
        return match (true) {
            is_tax() => jvbNoBase($obj->taxonomy) . $obj->term_id,
            is_a($obj, 'WP_Post_type') => jvbNoBase($obj->name),
            is_a($obj, 'WP_User') => jvbUserRole($obj->ID),
            default => jvbNoBase($obj->post_type) . $obj->ID,
        };
    }
    public function render(array $attributes, string $content, WP_Block $block)
    {
        $this->config = $this->getConfig();
        $key = $this->generateKey();
      if (is_tax()) {
         $this->cache = Cache::for('summary_tax', 'term', WEEK_IN_SECONDS);
      } elseif (is_author()) {
@@ -138,7 +124,7 @@
        ob_start();
        $this->renderBlock();
        $content = ob_get_clean();
        $this->cache->set($key, $content);
        $this->cache->set(get_queried_object_id(), $content);
        return $content;
    }