tags and allow WordPress to provide them add_theme_support( 'title-tag' ); // Experimental support for adding blocks inside nav menus add_theme_support( 'block-nav-menus' ); // Enqueue editor styles. add_editor_style( array( '/assets/ponyfill.css', ) ); // This theme has one menu location. register_nav_menus( array( 'primary' => __( 'Primary Navigation', 'blockbase' ), ) ); } add_action( 'after_setup_theme', 'blockbase_support' ); endif; /** * * Enqueue scripts and styles. */ function blockbase_editor_styles() { // Enqueue editor styles. add_editor_style( array( blockbase_fonts_url(), ) ); } add_action( 'admin_init', 'blockbase_editor_styles' ); /** * * Enqueue scripts and styles. */ function blockbase_scripts() { // Enqueue Google fonts wp_enqueue_style( 'blockbase-fonts', blockbase_fonts_url(), array(), null ); wp_enqueue_style( 'blockbase-ponyfill', get_template_directory_uri() . '/assets/ponyfill.css', array(), wp_get_theme()->get( 'Version' ) ); } add_action( 'wp_enqueue_scripts', 'blockbase_scripts' ); /** * Add Google webfonts * * @return $fonts_url */ function blockbase_fonts_url() { if ( ! class_exists( 'WP_Theme_JSON_Resolver_Gutenberg' ) ) { return ''; } $theme_data = WP_Theme_JSON_Resolver_Gutenberg::get_merged_data()->get_settings(); if ( empty( $theme_data ) || empty( $theme_data['custom'] ) ) { return ''; } $custom_data = $theme_data['custom']; if ( ! array_key_exists( 'fontsToLoadFromGoogle', $custom_data ) ) { return ''; } $font_families = $theme_data['custom']['fontsToLoadFromGoogle']; $font_families[] = 'display=swap'; // Make a single request for the theme fonts. return esc_url_raw( 'https://fonts.googleapis.com/css2?' . implode( '&', $font_families ) ); } /** * Restores the Customizer since we still rely on it. */ function blockbase_restore_customizer() { remove_action( 'admin_menu', 'gutenberg_remove_legacy_pages' ); } add_action( 'init', 'blockbase_restore_customizer' ); // For WPcom REST API requests to work properly. add_action( 'restapi_theme_init', 'blockbase_restore_customizer', 11 ); /** * Customize Global Styles */ require get_template_directory() . '/inc/customizer/wp-customize-colors.php'; require get_template_directory() . '/inc/customizer/wp-customize-color-palettes.php'; require get_template_directory() . '/inc/customizer/wp-customize-fonts.php';