initial
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/**
|
||||
* Handles block functionality.
|
||||
*
|
||||
* @package GenerateBlocks
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly.
|
||||
}
|
||||
|
||||
/**
|
||||
* The Block class.
|
||||
*/
|
||||
class GenerateBlocks_Block {
|
||||
/**
|
||||
* Keep track of all blocks of this type on the page.
|
||||
*
|
||||
* @var array $block_ids The current block id.
|
||||
*/
|
||||
protected static $block_ids = [];
|
||||
|
||||
/**
|
||||
* Store our block name.
|
||||
*
|
||||
* @var string $block_name The block name.
|
||||
*/
|
||||
public static $block_name = '';
|
||||
|
||||
/**
|
||||
* Store our block ID in memory.
|
||||
*
|
||||
* @param string $id The block ID to store.
|
||||
*/
|
||||
public static function store_block_id( $id ) {
|
||||
static::$block_ids[] = $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if our block ID exists.
|
||||
*
|
||||
* @param string $id The block ID to check.
|
||||
*/
|
||||
public static function block_id_exists( $id ) {
|
||||
return in_array( $id, (array) static::$block_ids );
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the block.
|
||||
*
|
||||
* @param array $attributes The block attributes.
|
||||
* @param string $block_content The block content.
|
||||
* @param array $block The block.
|
||||
*/
|
||||
public static function render_block( $attributes, $block_content, $block ) {
|
||||
return $block_content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the block CSS.
|
||||
*
|
||||
* @param array $attributes The block attributes.
|
||||
*/
|
||||
public static function get_css( $attributes ) {
|
||||
$id = $attributes['uniqueId'] ?? '';
|
||||
|
||||
if ( ! $id ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// Store this block ID in memory.
|
||||
static::store_block_id( $id );
|
||||
|
||||
return apply_filters(
|
||||
'generateblocks_block_css',
|
||||
$attributes['css'] ?? '',
|
||||
[
|
||||
'attributes' => $attributes ?? [],
|
||||
'block_name' => static::$block_name ?? '',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user