functions.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. /**
  3. * Child Theme Functions and definitions
  4. *
  5. * @link https://developer.wordpress.org/themes/basics/theme-functions/
  6. *
  7. * @package WordPress
  8. * @subpackage Sk8prk
  9. * @since 1.0.0
  10. */
  11. if ( ! function_exists( 'seedlet_sk8prk_setup' ) ) :
  12. /**
  13. * Sets up theme defaults and registers support for various WordPress features.
  14. *
  15. * Note that this function is hooked into the after_setup_theme hook, which
  16. * runs before the init hook. The init hook is too late for some features, such
  17. * as indicating support for post thumbnails.
  18. */
  19. function seedlet_sk8prk_setup() {
  20. // Add support for editor styles.
  21. add_theme_support( 'editor-styles' );
  22. // Enqueue editor styles.
  23. add_editor_style( array(
  24. seedlet_sk8prk_fonts_url(),
  25. 'variables.css',
  26. 'style.css',
  27. ) );
  28. // Add child theme editor font sizes to match Sass-map variables in `_config-child-theme-deep.scss`.
  29. add_theme_support(
  30. 'editor-font-sizes',
  31. array(
  32. array(
  33. 'name' => __( 'Tiny', 'seedlet-sk8prk' ),
  34. 'shortName' => __( 'XS', 'seedlet-sk8prk' ),
  35. 'size' => 14,
  36. 'slug' => 'xs',
  37. ),
  38. array(
  39. 'name' => __( 'Small', 'seedlet-sk8prk' ),
  40. 'shortName' => __( 'S', 'seedlet-sk8prk' ),
  41. 'size' => 16,
  42. 'slug' => 'small',
  43. ),
  44. array(
  45. 'name' => __( 'Medium', 'seedlet-sk8prk' ),
  46. 'shortName' => __( 'M', 'seedlet-sk8prk' ),
  47. 'size' => 20,
  48. 'slug' => 'medium',
  49. ),
  50. array(
  51. 'name' => __( 'Large', 'seedlet-sk8prk' ),
  52. 'shortName' => __( 'L', 'seedlet-sk8prk' ),
  53. 'size' => 24,
  54. 'slug' => 'large',
  55. ),
  56. array(
  57. 'name' => __( 'XL', 'seedlet-sk8prk' ),
  58. 'shortName' => __( 'XL', 'seedlet-sk8prk' ),
  59. 'size' => 36,
  60. 'slug' => 'xl',
  61. ),
  62. array(
  63. 'name' => __( 'Huge', 'seedlet-sk8prk' ),
  64. 'shortName' => __( 'XXL', 'seedlet-sk8prk' ),
  65. 'size' => 48,
  66. 'slug' => 'huge',
  67. ),
  68. )
  69. );
  70. // Add child theme editor color pallete to match Sass-map variables in `_config-child-theme-deep.scss`.
  71. add_theme_support(
  72. 'editor-color-palette',
  73. array(
  74. array(
  75. 'name' => __( 'Primary', 'seedlet-sk8prk' ),
  76. 'slug' => 'primary',
  77. 'color' => '#000000',
  78. ),
  79. array(
  80. 'name' => __( 'Background', 'seedlet-sk8prk' ),
  81. 'slug' => 'background',
  82. 'color' => '#BFF5A5',
  83. ),
  84. )
  85. );
  86. }
  87. endif;
  88. add_action( 'after_setup_theme', 'seedlet_sk8prk_setup', 12 );
  89. /**
  90. * Filter the content_width in pixels, based on the child-theme's design and stylesheet.
  91. */
  92. function seedlet_sk8prk_content_width() {
  93. return 744;
  94. }
  95. add_filter( 'seedlet_content_width', 'seedlet_sk8prk_content_width' );
  96. /**
  97. * Enqueue scripts and styles.
  98. */
  99. function seedlet_sk8prk_scripts() {
  100. // enqueue Google fonts, if necessary
  101. wp_enqueue_style( 'seedlet-sk8park-fonts', seedlet_sk8prk_fonts_url(), array(), null );
  102. // Child theme variables
  103. wp_enqueue_style( 'seedlet-sk8prk-variables-style', get_stylesheet_directory_uri() . '/variables.css', array(), wp_get_theme()->get( 'Version' ) );
  104. // dequeue parent styles
  105. // wp_dequeue_style( 'seedlet-variables-style' );
  106. // enqueue child styles
  107. wp_enqueue_style('seedlet-sk8prk-style', get_stylesheet_uri(), array(), wp_get_theme()->get( 'Version' ));
  108. // enqueue child RTL styles
  109. wp_style_add_data( 'seedlet-sk8prk-style', 'rtl', 'replace' );
  110. }
  111. add_action( 'wp_enqueue_scripts', 'seedlet_sk8prk_scripts', 99 );
  112. /**
  113. * Enqueue Custom Cover Block Styles and Scripts
  114. */
  115. function seedlet_sk8prk_block_extends() {
  116. // Block Tweaks
  117. wp_enqueue_script( 'seedlet-sk8prk-block-extends',
  118. get_stylesheet_directory_uri() . '/assets/js/extend-blocks.js',
  119. array( 'wp-blocks', 'wp-edit-post' ) // wp-edit-post is added to avoid a race condition when trying to unregister a style variation
  120. );
  121. }
  122. add_action( 'enqueue_block_assets', 'seedlet_sk8prk_block_extends' );
  123. /**
  124. * Add Google webfonts
  125. *
  126. * @return string
  127. */
  128. function seedlet_sk8prk_fonts_url() : string {
  129. $fonts_url = '';
  130. $font_families = array();
  131. $font_families[] = 'family=Red+Hat+Display:ital,wght@0,900;1,900';
  132. $font_families[] = 'family=Red+Hat+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700';
  133. $font_families[] = 'display=swap';
  134. // Make a single request for the theme fonts.
  135. $fonts_url = 'https://fonts.googleapis.com/css2?' . implode( '&', $font_families );
  136. return $fonts_url;
  137. }
  138. /**
  139. * Load extras
  140. */
  141. // require get_stylesheet_directory() . '/inc/custom-header.php';