Jake Vanderwerf
2026-01-01 2bb9aaaf24b794b528e3894ee9f9c42ca6d7fe93
inc/blocks/RegisterBlocks.php
@@ -6,15 +6,30 @@
   exit;
}
//Blocks
if (jvbSiteUsesFeedBlock()) {
if (Features::forSite()->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 (Features::anyContentHas('is_glossary')) {
   error_log('Has Glossary Type');
   require(JVB_DIR . '/build/glossary/render.php');
}
if (Features::forSite()->has('faq') || array_key_exists('faq', JVB_CONTENT)) {
   require(JVB_DIR . '/build/faq/render.php');
}
if (Features::hasIntegration('gmb')) {
   require(JVB_DIR . '/build/gmbreviews/render.php');
}
function jvbRegisterBlocks():void
{
   if (Features::hasIntegration('gmb')) {
      register_block_type(JVB_DIR . '/build/gmb-reviews');
   }
//    if (jvbSiteUsesFeedBlock()) {
//        register_block_type(
//            JVB_DIR . '/build/feed',
@@ -46,49 +61,6 @@
}
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