| @@ -26,18 +26,26 @@ | ||
| 26 | 26 | * |
| 27 | 27 | * @since 0.0.1 |
| 28 | 28 | */ |
| 29 | 29 | public function __construct() { |
| 30 | - $namespace = 'SRFM\\Inc\\Blocks'; | |
| 31 | - $blocks_dir = glob( SRFM_DIR . 'inc/blocks/**/*.php' ); | |
| 32 | - $base = 'Block'; | |
| 33 | - $this->register_block( $blocks_dir, $namespace, $base ); | |
| 30 | + $blocks = [ | |
| 31 | + [ | |
| 32 | + 'dir' => SRFM_DIR . 'inc/blocks/**/*.php', | |
| 33 | + 'namespace' => 'SRFM\\Inc\\Blocks', | |
| 34 | + ], | |
| 35 | + ]; | |
| 34 | 36 | |
| 35 | - if ( defined( 'SRFM_PRO_VER' ) ) { | |
| 36 | - $blocks_dir = glob( SRFM_PRO_DIR . 'inc/blocks/**/*.php' ); | |
| 37 | - $namespace = 'SRFM_PRO\\Inc\\Blocks'; | |
| 38 | - $base = 'Block'; | |
| 39 | - $this->register_block( $blocks_dir, $namespace, $base ); | |
| 37 | + // Filter to add and register additional blocks. Like Signature block. | |
| 38 | + $additional_blocks = apply_filters( 'srfm_register_additional_blocks', [] ); | |
| 39 | + | |
| 40 | + // Merge additional blocks with the default blocks. When the additional blocks are not empty. | |
| 41 | + if ( ! empty( $additional_blocks ) && count( $additional_blocks ) > 0 ) { | |
| 42 | + $blocks = [ ...$blocks, ...$additional_blocks ]; | |
| 43 | + } | |
| 44 | + | |
| 45 | + foreach ( $blocks as $block ) { | |
| 46 | + // Register the block. | |
| 47 | + $this->register_block( glob( $block['dir'] ), $block['namespace'], 'Block' ); | |
| 40 | 48 | } |
| 41 | 49 | } |
| 42 | 50 | |
| 43 | 51 | /** |