From 47e77f9fac1155c536b2b87fec552c7fcce66fa6 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 01 Jun 2026 18:06:34 +0000
Subject: [PATCH] =Timeline block fixes. Next up: adding article schema classes
---
inc/blocks/RegisterBlocks.php | 84 +++++++++--------------------------------
1 files changed, 19 insertions(+), 65 deletions(-)
diff --git a/inc/blocks/RegisterBlocks.php b/inc/blocks/RegisterBlocks.php
index e5f15f5..e9811ff 100644
--- a/inc/blocks/RegisterBlocks.php
+++ b/inc/blocks/RegisterBlocks.php
@@ -1,20 +1,36 @@
<?php
-use JVBase\utility\Features;
+use JVBase\registrar\Registrar;
+use JVBase\base\Site;
if (!defined('ABSPATH')) {
exit;
}
//Blocks
-if (jvbSiteUsesFeedBlock()) {
+if (Site::has('feed_block')) {
require(JVB_DIR . '/build/feed/render.php');
}
require(JVB_DIR . '/build/list/render.php');
require(JVB_DIR . '/build/summary/render.php');
require(JVB_DIR . '/build/forms/render.php');
+require(JVB_DIR . '/build/menu/render.php');
+if (!empty(Registrar::getFeatured('is_glossary'))) {
+ error_log('Has Glossary Type');
+ require(JVB_DIR . '/build/glossary/render.php');
+}
+if (Site::has('faq')) {
+ require(JVB_DIR . '/build/faq/render.php');
+}
+if (Site::hasIntegration('gmb')) {
+ require(JVB_DIR . '/build/gmbreviews/render.php');
+}
+
function jvbRegisterBlocks():void
{
+ if (Site::hasIntegration('gmb')) {
+ register_block_type(JVB_DIR . '/build/gmb-reviews');
+ }
// if (jvbSiteUsesFeedBlock()) {
// register_block_type(
// JVB_DIR . '/build/feed',
@@ -23,7 +39,7 @@
// ]
// );
// }
- if (Features::anyContentHas('show_directory') || Features::anyTaxonomyHas('show_directory')) {
+ if (!empty(Registrar::getFeatured('show_directory'))) {
register_block_type(
JVB_DIR . '/build/list',
[
@@ -45,65 +61,3 @@
]);
}
add_filter('block_categories_all', 'jvbRegisterBlockCategory');
-
-//Get our loaded types
-function jvbRegisterFeedTypes():void
-{
- global $jvb_feed;
- global $jvb_taxonomy_for;
-
-
- wp_localize_script('jvb-feed-block-editor', 'jvbBlockSettings', [
- 'contentTypes' => $jvb_feed,
- 'taxonomyFor' => $jvb_taxonomy_for
- ]);
-
-
- // Filter for block.json
- add_filter('block_type_metadata', function ($metadata) use ($jvb_feed) {
- if ($metadata['name'] === 'jvb/feed') {
- $metadata['attributes']['contentTypes']['items']['enum'] = array_keys($jvb_feed);
- }
- return $metadata;
- });
-}
-add_action('wp_loaded', 'jvbRegisterFeedTypes');
-
-if (jvbSiteUsesFeedBlock()) {
- add_action('rest_api_init', 'jvbGetFeedTypes');
- function jvbGetFeedTypes():void
- {
- register_rest_route(
- 'jvb/v1',
- 'types',
- [
- 'permission_callback' => function () {
- return is_user_logged_in();
- },
- 'callback' => function () {
- global $jvb_feed;
- return new WP_REST_Response(json_encode((object) $jvb_feed));
- }
- ]
- );
- }
-}
-
-
-/**
- * Enqueue block editor assets
- */
-function jvbEnqueueBlockEditorAssets():void
-{
- // Only localize for block editor
- if (!is_admin()) {
- return;
- }
- // Localize list types for the block
- wp_localize_script(
- 'jvb-list-editor-script', // This should match your editor script handle
- 'jvbListTypes',
- jvbGlobalDirectoryInfo()
- );
-}
-add_action('enqueue_block_editor_assets', 'jvbEnqueueBlockEditorAssets');
--
Gitblit v1.10.0