<?php /** * Block Patterns. * * @since 1.0.4 * @package Spexo */ if ( ! class_exists( 'Tmpcoder_block_patterns' ) ) { /** * Class Tmpcoder_block_patterns * * Class for defining and registering block patterns. */ class Tmpcoder_block_patterns { /** * Array of block pattern slugs. * * @var array */ private $patterns = [ 'dark-header-centered-content', '404-error', 'banner', 'service-we-provide', 'two-columns-with-image-and-text', 'our-case-studies', 'welcome-to-spexo-section', 'hero-content-video-icon', 'services-we-provide-2', 'about', 'blog-simple', 'blog-grid', 'blog-left-featured-image', 'two-column-featured-left', 'three-column-featured-center', 'three-column-featured-grid', 'teams-three-columns', 'teams-four-columns-circle', ]; public function __construct() { add_action( 'init', [ $this, 'tmpcoder_define_patterns' ] ); add_action( 'init', [ $this, 'tmpcoder_register_block_pattern_categories' ] ); } /** * Define and register the block patterns. */ public function tmpcoder_define_patterns() { if ( ! function_exists( 'register_block_pattern' ) ) { return; } foreach ( $this->patterns as $pattern ) { $file = get_template_directory() . '/inc/compatibility/block-patterns/' . $pattern . '.php'; if ( file_exists( $file ) ) { register_block_pattern( 'spexo/' . $pattern, require $file ); } } } /** * Define and register the block pattern categories. */ public function tmpcoder_register_block_pattern_categories() { if ( function_exists( 'register_block_pattern_category' ) ) { register_block_pattern_category('spexo', array( 'label' => __('Spexo', 'spexo'), ) ); } } } } /** * Initialise Block Patterns */ new Tmpcoder_block_patterns();