get( 'Version' ) ); define( 'ALARA_THEME_NAME', wp_get_theme()->get( 'Name' ) ); define( 'ALARA_THEME_URI', wp_get_theme()->get( 'ThemeURI' ) ); define( 'ALARA_TEMPLATE_DIR', get_template_directory() ); define( 'ALARA_TEMPLATE_DIR_URI', get_template_directory_uri() ); if ( ! function_exists( 'alara_support' ) ) { function alara_support() { // Make theme available for translation. load_theme_textdomain( 'alara', ALARA_TEMPLATE_DIR . '/languages' ); // Add default posts and comments RSS feed links to head. add_theme_support( 'automatic-feed-links' ); // Adding support for featured images. add_theme_support( 'post-thumbnails' ); // Adding support for core block visual styles. add_theme_support( 'wp-block-styles' ); // Adding support for responsive embedded content. add_theme_support( 'responsive-embeds' ); } } add_action( 'after_setup_theme', 'alara_support' ); /** * Enqueue scripts and styles. */ function alara_scripts_styles() { wp_enqueue_style( 'alara-fonts', alara_google_fonts(), array(), null ); wp_enqueue_style( 'alara-style', ALARA_TEMPLATE_DIR_URI . '/style.css', array(), ALARA_VERSION ); } add_action( 'wp_enqueue_scripts', 'alara_scripts_styles' ); /** * Enqueue editor styles. */ function alara_editor_styles() { add_editor_style( array( 'style.css', alara_google_fonts() ) ); } add_action( 'admin_init', 'alara_editor_styles' ); /** * Block patterns. */ require ALARA_TEMPLATE_DIR . '/inc/patterns.php'; /** * Block styles. */ require ALARA_TEMPLATE_DIR . '/inc/styles.php'; /** * Google fonts. */ function alara_google_fonts() { /** * Note: although Alara requires 5.9, child themes could still be 5.8 with Gutenberg */ if ( version_compare( get_bloginfo( 'version' ), '5.9', '<' ) ) { $resolver_class = 'WP_Theme_JSON_Resolver_Gutenberg'; } else { $resolver_class = 'WP_Theme_JSON_Resolver'; } if ( !class_exists( $resolver_class ) ) { return ''; } $global_styles = $resolver_class::get_merged_data()->get_settings(); if ( empty( $global_styles['typography']['fontFamilies'] ) ) { return ''; } $theme_fonts = ! empty( $global_styles['typography']['fontFamilies']['theme'] ) ? $global_styles['typography']['fontFamilies']['theme'] : array(); $user_fonts = ! empty( $global_styles['typography']['fontFamilies']['user'] ) ? $global_styles['typography']['fontFamilies']['user'] : array(); $fonts = array_merge( $theme_fonts, $user_fonts ); if ( !$fonts ) { return ''; } $font_vars = array(); foreach ( $fonts as $font ) { if ( !empty( $font['google'] ) ) { $font_vars[] = $font['google']; } } if ( !$font_vars ) { return ''; } return esc_url_raw( 'https://fonts.googleapis.com/css2?' . implode( '&', $font_vars ) . '&display=swap' ); }