File: /var/www/test.kaunokolegija.lt/kk_wp_content/plugins/stateblock/index.php
<?php
/**
* Plugin Name: Custom Statistics Block
* Description: A customizable statistics block for Gutenberg with icons, numbers, and descriptions.
* Version: 1.0.0
* Author: Salman akber
* Text Domain: custom-blocks
*/
// Prevent direct access
if (!defined('ABSPATH')) {
exit;
}
class CustomStatisticsBlock {
public function __construct() {
add_action('init', array($this, 'register_block'));
add_action('wp_enqueue_scripts', array($this, 'enqueue_frontend_assets'));
add_action('enqueue_block_editor_assets', array($this, 'enqueue_editor_assets'));
}
public function register_block() {
register_block_type(
plugin_dir_path(__FILE__) . 'block.json'
);
}
public function enqueue_frontend_assets() {
wp_enqueue_style(
'custom-statistics-block-style',
plugin_dir_url(__FILE__) . 'style-index.css',
array(),
filemtime(plugin_dir_path(__FILE__) . 'style-index.css')
);
}
public function enqueue_editor_assets() {
wp_enqueue_script(
'custom-statistics-block-editor',
plugin_dir_url(__FILE__) . 'index.js',
array(
'wp-blocks',
'wp-element',
'wp-editor',
'wp-components',
'wp-i18n'
),
filemtime(plugin_dir_path(__FILE__) . 'index.js'),
true
);
wp_enqueue_style(
'custom-statistics-block-editor-style',
plugin_dir_url(__FILE__) . 'index.css',
array('wp-edit-blocks'),
filemtime(plugin_dir_path(__FILE__) . 'index.css')
);
}
}
// Initialize the plugin
new CustomStatisticsBlock();
// Add block category
function custom_blocks_category($categories) {
return array_merge(
$categories,
array(
array(
'slug' => 'custom-blocks',
'title' => __('Custom Blocks', 'custom-blocks'),
'icon' => 'layout',
),
)
);
}
add_filter('block_categories_all', 'custom_blocks_category', 10, 2);