Files
local-content-pro/includes/blocks/lcp-visualizer/lcp-visualizer.php
2024-12-27 22:56:39 -08:00

62 lines
1.6 KiB
PHP

<?php
/**
* Plugin Name: Todo List
* Description: Example block scaffolded with Create Block tool.
* Requires at least: 6.6
* Requires PHP: 7.2
* Version: 0.1.0
* Author: The WordPress Contributors
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: todo-list
*
* @package CreateBlock
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Registers the block using the metadata loaded from the `block.json` file.
* Behind the scenes, it registers also all assets so they can be enqueued
* through the block editor in the corresponding context.
*
* @see https://developer.wordpress.org/reference/functions/register_block_type/
*/
function render_lcp_visualizer_block() {
$json_data = json_encode([
['x' => 0, 'y' => 10],
['x' => 1, 'y' => 20],
['x' => 2, 'y' => 15],
['x' => 3, 'y' => 25],
['x' => 4, 'y' => 30],
['x' => 5, 'y' => 40],
['x' => 6, 'y' => 45],
]);
return '<svg class="lcp-visualizer" data-visualizer-data="' . esc_attr($json_data) . '"></svg>';
}
function lcp_visualizer_block_init() {
register_block_type( __DIR__ . '/build', array(
'render_callback' => 'render_lcp_visualizer_block',
));
}
add_action( 'init', 'lcp_visualizer_block_init' );
function enqueue_d3_js() {
// Define the path to the D3.js file
$d3_js_path = get_template_directory_uri() . '/includes/blocks/lcp-visualizer/assets/js/d3.v7.min.js';
// Enqueue the D3.js file
wp_enqueue_script('d3-js', $d3_js_path, array(), null, false);
}
add_action('wp_enqueue_scripts', 'enqueue_d3_js');