| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?php
- /**
- * Twenty Twenty-Two functions and definitions
- *
- * @link https://developer.wordpress.org/themes/basics/theme-functions/
- *
- * @package WordPress
- * @subpackage Twenty_Twenty_Two
- * @since Twenty Twenty-Two 1.0
- */
- if ( ! function_exists( 'twentytwentytwo_support' ) ) :
- /**
- * Sets up theme defaults and registers support for various WordPress features.
- *
- * @since Twenty Twenty-Two 1.0
- *
- * @return void
- */
- function twentytwentytwo_support() {
- // Add support for block styles.
- add_theme_support( 'wp-block-styles' );
- // Enqueue editor styles.
- add_editor_style( 'style.css' );
- }
- endif;
- add_action( 'after_setup_theme', 'twentytwentytwo_support' );
- if ( ! function_exists( 'twentytwentytwo_styles' ) ) :
- /**
- * Enqueue styles.
- *
- * @since Twenty Twenty-Two 1.0
- *
- * @return void
- */
- function twentytwentytwo_styles() {
- // Register theme stylesheet.
- $theme_version = wp_get_theme()->get( 'Version' );
- $version_string = is_string( $theme_version ) ? $theme_version : false;
- wp_register_style(
- 'twentytwentytwo-style',
- get_template_directory_uri() . '/style.css',
- array(),
- $version_string
- );
- // Add styles inline.
- wp_add_inline_style( 'twentytwentytwo-style', twentytwentytwo_get_font_face_styles() );
- // Enqueue theme stylesheet.
- wp_enqueue_style( 'twentytwentytwo-style' );
- }
- endif;
- add_action( 'wp_enqueue_scripts', 'twentytwentytwo_styles' );
- if ( ! function_exists( 'twentytwentytwo_editor_styles' ) ) :
- /**
- * Enqueue editor styles.
- *
- * @since Twenty Twenty-Two 1.0
- *
- * @return void
- */
- function twentytwentytwo_editor_styles() {
- // Add styles inline.
- wp_add_inline_style( 'wp-block-library', twentytwentytwo_get_font_face_styles() );
- }
- endif;
- add_action( 'admin_init', 'twentytwentytwo_editor_styles' );
- if ( ! function_exists( 'twentytwentytwo_get_font_face_styles' ) ) :
- /**
- * Get font face styles.
- * Called by functions twentytwentytwo_styles() and twentytwentytwo_editor_styles() above.
- *
- * @since Twenty Twenty-Two 1.0
- *
- * @return string
- */
- function twentytwentytwo_get_font_face_styles() {
- return "
- @font-face{
- font-family: 'Source Serif Pro';
- font-weight: 200 900;
- font-style: normal;
- font-stretch: normal;
- font-display: swap;
- src: url('" . get_theme_file_uri( 'assets/fonts/SourceSerif4Variable-Roman.ttf.woff2' ) . "') format('woff2');
- }
- @font-face{
- font-family: 'Source Serif Pro';
- font-weight: 200 900;
- font-style: italic;
- font-stretch: normal;
- font-display: swap;
- src: url('" . get_theme_file_uri( 'assets/fonts/SourceSerif4Variable-Italic.ttf.woff2' ) . "') format('woff2');
- }
- ";
- }
- endif;
- if ( ! function_exists( 'twentytwentytwo_preload_webfonts' ) ) :
- /**
- * Preloads the main web font to improve performance.
- *
- * Only the main web font (font-style: normal) is preloaded here since that font is always relevant (it is used
- * on every heading, for example). The other font is only needed if there is any applicable content in italic style,
- * and therefore preloading it would in most cases regress performance when that font would otherwise not be loaded
- * at all.
- *
- * @since Twenty Twenty-Two 1.0
- *
- * @return void
- */
- function twentytwentytwo_preload_webfonts() {
- ?>
- <link rel="preload" href="<?php echo esc_url( get_theme_file_uri( 'assets/fonts/SourceSerif4Variable-Roman.ttf.woff2' ) ); ?>" as="font" type="font/woff2" crossorigin>
- <?php
- }
- endif;
- add_action( 'wp_head', 'twentytwentytwo_preload_webfonts' );
- // Add block patterns
- require get_template_directory() . '/inc/block-patterns.php';
|