load_files(); } public function add_style_for_blocks() { $this->add_styles_by_platform(); $this->add_styles_by_platform( 'WooCommerce' ); } private function add_styles_by_platform( $platform = 'Gutenberg' ) { $template_path = BRANDY_TEMPLATE_DIR . '/inc/Blocks/' . $platform . '/assets'; $template_url = BRANDY_TEMPLATE_URL . '/inc/Blocks/' . $platform . '/assets'; if ( ! file_exists( $template_path ) ) { return; } $dir = new \DirectoryIterator( $template_path ); $dirs = array(); foreach ( $dir as $fileinfo ) { if ( ! $fileinfo->isDot() ) { $dirs[] = $fileinfo->getFilename(); } } foreach ( $dirs as $file_name ) { $file_basename = basename( $file_name, '.css' ); $platform = 'Gutenberg' === $platform ? 'core' : strtolower( $platform ); \wp_enqueue_block_style( $platform . '/' . $file_basename, array( 'handle' => 'brandy-' . $platform . '-' . $file_basename, 'src' => $template_url . '/' . $file_name, 'ver' => time(), ) ); } } public function load_files() { $platforms = array( 'Gutenberg', 'WooCommerce' ); foreach ( $platforms as $platform ) { $dir = new \DirectoryIterator( BRANDY_TEMPLATE_DIR . '/inc/Blocks/' . $platform ); $dirs = array(); foreach ( $dir as $fileinfo ) { if ( ! $fileinfo->isDot() ) { $dirs[] = $fileinfo->getFilename(); } } foreach ( $dirs as $file_name ) { $file_basename = basename( $file_name, '.php' ); $class = "Brandy\Blocks\\$platform\\$file_basename"; if ( ! class_exists( $class ) || ! is_callable( array( $class, 'get_instance' ) ) ) { continue; } call_user_func( array( $class, 'get_instance' ) ); } } } } BlocksOverride::get_instance();