> $cats @return array> */ public function category( array $cats ): array { $cats[] = [ 'slug' => 'admirly', 'title' => __( 'Admirly', 'admirly' ), ]; return $cats; } public function registerBlocks(): void { $sc = new Shortcodes(); $map = [ 'form' => fn( array $a ) => $sc->form( $a ), 'wall' => fn( array $a ) => $sc->wall( $a ), 'strip' => fn( array $a ) => $sc->strip( $a ), ]; foreach ( $map as $name => $cb ) { $dir = ADMIRLY_DIR . 'blocks/' . $name; if ( is_file( $dir . '/block.json' ) ) { // Server-side blocks only get alignment classes (alignwide/alignfull) via get_block_wrapper_attributes. $type = register_block_type( $dir, [ 'render_callback' => static fn( array $attrs ) => '
' . $cb( $attrs ) . '
' ] ); if ( $type instanceof \WP_Block_Type ) { foreach ( (array) $type->editor_script_handles as $handle ) { wp_set_script_translations( $handle, 'admirly', ADMIRLY_DIR . 'languages' ); } } } } } }