123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- if ( ! function_exists( 'blockbase_support' ) ) :
- function blockbase_support() {
- // Alignwide and alignfull classes in the block editor.
- add_theme_support( 'align-wide' );
- // Add support for experimental link color control.
- add_theme_support( 'experimental-link-color' );
- // Add support for responsive embedded content.
- // https://github.com/WordPress/gutenberg/issues/26901
- add_theme_support( 'responsive-embeds' );
- // Add support for editor styles.
- add_theme_support( 'editor-styles' );
- // Add support for post thumbnails.
- add_theme_support( 'post-thumbnails' );
- // Experimental support for adding blocks inside nav menus
- add_theme_support( 'block-nav-menus' );
- // Enqueue editor styles.
- add_editor_style(
- array(
- '/assets/ponyfill.css',
- )
- );
- // Register two nav menus
- register_nav_menus(
- array(
- 'primary' => __( 'Primary Navigation', 'blockbase' ),
- 'social' => __( 'Social Navigation', 'blockbase' ),
- )
- );
- add_filter(
- 'block_editor_settings_all',
- function( $settings ) {
- $settings['defaultBlockTemplate'] = '<!-- wp:group {"layout":{"inherit":true}} --><div class="wp-block-group"><!-- wp:post-content /--></div><!-- /wp:group -->';
- return $settings;
- }
- );
- // Add support for core custom logo.
- add_theme_support(
- 'custom-logo',
- array(
- 'height' => 192,
- 'width' => 192,
- 'flex-width' => true,
- 'flex-height' => true,
- )
- );
- }
- endif;
- add_action( 'after_setup_theme', 'blockbase_support', 9 );
- /**
- *
- * Enqueue scripts and styles.
- */
- function blockbase_editor_styles() {
- // Add the child theme CSS if it exists.
- if ( file_exists( get_stylesheet_directory() . '/assets/theme.css' ) ) {
- add_editor_style(
- '/assets/theme.css'
- );
- }
- }
- add_action( 'admin_init', 'blockbase_editor_styles' );
- /**
- *
- * Enqueue scripts and styles.
- */
- function blockbase_scripts() {
- wp_enqueue_style( 'blockbase-ponyfill', get_template_directory_uri() . '/assets/ponyfill.css', array(), wp_get_theme()->get( 'Version' ) );
- // Add the child theme CSS if it exists.
- if ( file_exists( get_stylesheet_directory() . '/assets/theme.css' ) ) {
- wp_enqueue_style( 'blockbase-child-styles', get_stylesheet_directory_uri() . '/assets/theme.css', array( 'blockbase-ponyfill' ), wp_get_theme()->get( 'Version' ) );
- }
- }
- add_action( 'wp_enqueue_scripts', 'blockbase_scripts' );
- /**
- * Customize Global Styles
- */
- if ( class_exists( 'WP_Theme_JSON_Resolver_Gutenberg' ) ) {
- 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/social-navigation.php';
- }
- // Font Management
- require get_template_directory() . '/inc/fonts/wptt-webfont-loader.php';
- require get_template_directory() . '/inc/fonts/custom-fonts.php';
- // Font settings deprecation message
- require get_template_directory() . '/inc/customizer/wp-customize-fonts.php';
- // Font Migration
- require get_template_directory() . '/inc/fonts/custom-font-migration.php';
- // Force menus to reload
- add_action(
- 'customize_controls_enqueue_scripts',
- static function () {
- wp_enqueue_script(
- 'wp-customize-nav-menu-refresh',
- get_template_directory_uri() . '/inc/customizer/wp-customize-nav-menu-refresh.js',
- array( 'customize-nav-menus' ),
- wp_get_theme()->get( 'Version' ),
- true
- );
- }
- );
- /**
- * Disable the fallback for the core/navigation block.
- */
- function blockbase_core_navigation_render_fallback() {
- return null;
- }
- add_filter( 'block_core_navigation_render_fallback', 'blockbase_core_navigation_render_fallback' );
- /**
- * Block Patterns.
- */
- require get_template_directory() . '/inc/block-patterns.php';
- // Add the child theme patterns if they exist.
- if ( file_exists( get_stylesheet_directory() . '/inc/block-patterns.php' ) ) {
- require_once get_stylesheet_directory() . '/inc/block-patterns.php';
- }
|