get( 'Version' ) ?: '1.0.0'; } function as_coaching_setup() { add_theme_support( 'title-tag' ); add_theme_support( 'post-thumbnails' ); add_theme_support( 'responsive-embeds' ); add_theme_support( 'editor-styles' ); add_theme_support( 'wp-block-styles' ); add_theme_support( 'align-wide' ); add_theme_support( 'html5', array( 'comment-form', 'comment-list', 'gallery', 'caption', 'search-form', 'script', 'style', ) ); register_nav_menus( array( 'header' => __( 'Header Menu', 'as-coaching' ), 'footer' => __( 'Footer Menu', 'as-coaching' ), ) ); add_editor_style( array( 'style.css', 'assets/css/editor.css', ) ); } add_action( 'after_setup_theme', 'as_coaching_setup' ); function as_coaching_enqueue_assets() { $version = as_coaching_get_theme_version(); wp_enqueue_style( 'as-coaching-style', get_stylesheet_uri(), array(), $version ); wp_enqueue_script( 'as-coaching-script', get_theme_file_uri( '/assets/js/theme.js' ), array(), $version, true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'as_coaching_enqueue_assets' ); function as_coaching_section_url( $anchor ) { if ( is_front_page() ) { return '#' . ltrim( $anchor, '#' ); } return trailingslashit( home_url( '/' ) ) . '#' . ltrim( $anchor, '#' ); } function as_coaching_get_inline_svg( $relative_path, $class = '' ) { $file = get_theme_file_path( $relative_path ); if ( ! file_exists( $file ) ) { return ''; } $svg = trim( file_get_contents( $file ) ); if ( '' === $svg ) { return ''; } $svg = preg_replace( '/<\?xml.*?\?>/i', '', $svg ); $svg = preg_replace_callback( '/]*)>/i', static function ( $matches ) use ( $class ) { $attributes = $matches[1]; if ( false === strpos( $attributes, 'aria-hidden=' ) ) { $attributes .= ' aria-hidden="true"'; } if ( false === strpos( $attributes, 'focusable=' ) ) { $attributes .= ' focusable="false"'; } if ( $class ) { if ( preg_match( '/class="([^"]*)"/i', $attributes, $class_match ) ) { $replacement = 'class="' . esc_attr( trim( $class_match[1] . ' ' . $class ) ) . '"'; $attributes = preg_replace( '/class="([^"]*)"/i', $replacement, $attributes, 1 ); } else { $attributes .= ' class="' . esc_attr( $class ) . '"'; } } return ''; }, $svg, 1 ); return $svg; } function as_coaching_get_svg_data_uri( $relative_path ) { $file = get_theme_file_path( $relative_path ); if ( ! file_exists( $file ) ) { return ''; } $svg = trim( file_get_contents( $file ) ); if ( '' === $svg ) { return ''; } $svg = preg_replace( '/<\?xml.*?\?>/i', '', $svg ); $svg = preg_replace( '/>\s+<', $svg ); return 'data:image/svg+xml,' . rawurlencode( $svg ); } function as_coaching_output_favicon() { $icon = as_coaching_get_svg_data_uri( '/assets/svg/favicon.svg' ); if ( ! $icon ) { return; } ?> __( 'AS Pages', 'as-coaching' ), ) ); register_block_pattern_category( 'as-coaching-sections', array( 'label' => __( 'AS Sections', 'as-coaching' ), ) ); } add_action( 'init', 'as_coaching_register_pattern_categories' ); function as_coaching_register_patterns() { if ( ! function_exists( 'register_block_pattern' ) ) { return; } $pattern_files = glob( get_theme_file_path( '/patterns/*.php' ) ); $registry = WP_Block_Patterns_Registry::get_instance(); if ( empty( $pattern_files ) ) { return; } foreach ( $pattern_files as $pattern_file ) { $headers = get_file_data( $pattern_file, array( 'title' => 'Title', 'slug' => 'Slug', 'description' => 'Description', 'categories' => 'Categories', 'keywords' => 'Keywords', 'viewportWidth' => 'Viewport Width', 'blockTypes' => 'Block Types', 'postTypes' => 'Post Types', 'templateTypes' => 'Template Types', 'inserter' => 'Inserter', ) ); if ( empty( $headers['title'] ) || empty( $headers['slug'] ) ) { continue; } if ( $registry->is_registered( $headers['slug'] ) ) { continue; } ob_start(); include $pattern_file; $content = trim( ob_get_clean() ); register_block_pattern( $headers['slug'], array( 'title' => $headers['title'], 'description' => $headers['description'], 'categories' => array_filter( array_map( 'trim', explode( ',', $headers['categories'] ) ) ), 'keywords' => array_filter( array_map( 'trim', explode( ',', $headers['keywords'] ) ) ), 'viewportWidth' => $headers['viewportWidth'] ? (int) $headers['viewportWidth'] : 1380, 'blockTypes' => array_filter( array_map( 'trim', explode( ',', $headers['blockTypes'] ) ) ), 'postTypes' => array_filter( array_map( 'trim', explode( ',', $headers['postTypes'] ) ) ), 'templateTypes' => array_filter( array_map( 'trim', explode( ',', $headers['templateTypes'] ) ) ), 'inserter' => ! in_array( strtolower( $headers['inserter'] ), array( 'no', 'false' ), true ), 'content' => $content, ) ); } } add_action( 'init', 'as_coaching_register_patterns', 20 ); function as_coaching_header_menu_fallback( $args ) { $menu_class = empty( $args->menu_class ) ? 'menu' : $args->menu_class; echo ''; return; }