get( 'Version' ) ); } add_action( 'wp_enqueue_scripts', 'plotviora_enqueue_assets' ); /** * Register pattern categories. */ function plotviora_register_pattern_categories() { $categories = array( 'plotviora-pages' => array( 'label' => __( 'Plotviora: Full Pages', 'plotviora' ), 'description' => __( 'Complete page layouts for a real estate website.', 'plotviora' ), ), 'plotviora-hero' => array( 'label' => __( 'Plotviora: Hero', 'plotviora' ), 'description' => __( 'Opening sections with headlines and property search.', 'plotviora' ), ), 'plotviora-listings' => array( 'label' => __( 'Plotviora: Properties', 'plotviora' ), 'description' => __( 'Property showcases, listing grids, types and neighbourhoods.', 'plotviora' ), ), 'plotviora-about' => array( 'label' => __( 'Plotviora: About & Services', 'plotviora' ), 'description' => __( 'Company story, services, process, values and statistics.', 'plotviora' ), ), 'plotviora-team' => array( 'label' => __( 'Plotviora: Agents & Reviews', 'plotviora' ), 'description' => __( 'Agent profiles, testimonials and partner logos.', 'plotviora' ), ), 'plotviora-cta' => array( 'label' => __( 'Plotviora: Call to Action', 'plotviora' ), 'description' => __( 'Conversion sections, pricing and FAQs.', 'plotviora' ), ), 'plotviora-contact' => array( 'label' => __( 'Plotviora: Contact', 'plotviora' ), 'description' => __( 'Office details, opening hours and contact sections.', 'plotviora' ), ), ); foreach ( $categories as $name => $properties ) { register_block_pattern_category( $name, $properties ); } } add_action( 'init', 'plotviora_register_pattern_categories' ); /** * Register custom block styles. Their CSS lives in style.css. */ function plotviora_register_block_styles() { $styles = array( 'core/group' => array( 'plotviora-card' => __( 'Card', 'plotviora' ), 'plotviora-panel' => __( 'Rounded Panel', 'plotviora' ), ), 'core/button' => array( 'plotviora-arrow' => __( 'Arrow', 'plotviora' ), 'plotviora-link' => __( 'Text Link', 'plotviora' ), ), 'core/image' => array( 'plotviora-frame' => __( 'Framed', 'plotviora' ), 'plotviora-arch' => __( 'Arch', 'plotviora' ), ), 'core/list' => array( 'plotviora-check' => __( 'Checkmarks', 'plotviora' ), ), 'core/paragraph' => array( 'plotviora-eyebrow' => __( 'Eyebrow', 'plotviora' ), ), ); foreach ( $styles as $block => $block_styles ) { foreach ( $block_styles as $name => $label ) { register_block_style( $block, array( 'name' => $name, 'label' => $label, ) ); } } } add_action( 'init', 'plotviora_register_block_styles' );