<?php
|
|
use JVBase\utility\Features;
|
|
if (!defined('ABSPATH')) {
|
exit;
|
}
|
//Blocks
|
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',
|
// [
|
// 'render_callback' => 'jvbRenderFeedBlock'
|
// ]
|
// );
|
// }
|
if (Features::anyContentHas('show_directory') || Features::anyTaxonomyHas('show_directory')) {
|
register_block_type(
|
JVB_DIR . '/build/list',
|
[
|
'render_callback' => 'jvbRenderListBlock'
|
]
|
);
|
}
|
}
|
add_action('init', 'jvbRegisterBlocks');
|
|
function jvbRegisterBlockCategory(array $categories):array
|
{
|
return array_merge($categories, [
|
[
|
'slug' => 'jvb',
|
'title' => get_bloginfo('name'),
|
'icon' => 'art'
|
]
|
]);
|
}
|
add_filter('block_categories_all', 'jvbRegisterBlockCategory');
|
|
|
/**
|
* 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');
|