ave_lite_fonts_url(), 'depends' => false, 'version' => AVELITE_THEME_VERSION, 'media' => 'all' ); $styles['theme-style'] = array( 'url' => AVELITE_THEME_URL . '/style.css', 'depends' => false, 'version' => AVELITE_THEME_VERSION, 'media' => 'all' ); $scripts['plugins'] = array( 'url' => AVELITE_THEME_URL . '/assets/js/plugins.js', 'depends' => array( 'jquery' ), 'version' => AVELITE_THEME_VERSION, 'in_footer' => true ); $scripts['theme'] = array( 'url' => AVELITE_THEME_URL . '/assets/js/theme.js', 'depends' => array( 'jquery' ), 'version' => AVELITE_THEME_VERSION, 'in_footer' => true ); // Load styles $styles = apply_filters( 'ave_lite_set_styles', $styles ); if( is_array( $styles ) && count( $styles ) ) { foreach( $styles as $sid => $value ){ ave_lite_enqueue()->add_style( $sid, $value['url'], $value['depends'], $value['version'], $value['media'] ); } } // Load scripts $scripts = apply_filters( 'ave_lite_set_scripts', $scripts ); if( is_array( $scripts ) && count( $scripts ) ){ foreach( $scripts as $sid => $value ){ ave_lite_enqueue()->add_script( $sid, $value['url'], $value['depends'], $value['version'], $value['in_footer'] ); } } // Comments if ( is_singular() && comments_open() && !is_front_page() ) { wp_enqueue_script( "comment-reply" ); } } } add_action( 'wp_enqueue_scripts', 'ave_lite_enqueue_scripts', 10000 ); /** * Setup Theme * @package WordPress * @subpackage AveTheme * @since 1.0.0 */ if ( !function_exists( 'ave_lite_setup_theme' ) ) { function ave_lite_setup_theme() { // Add supports add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'post-thumbnails', array( 'post' ) ); add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) ); add_theme_support( 'custom-header' ); add_theme_support( 'custom-background' ); // Content Width if ( ! isset( $content_width ) ) { $content_width = apply_filters( 'ave_lite_set_content_width', 1140 ); } // Load Locales if ( is_child_theme() ) { load_child_theme_textdomain( 'ave-lite', AVELITE_CHILD_THEME_PATH . '/locales' ); } else { load_theme_textdomain( 'ave-lite', AVELITE_THEME_PATH . '/locales' ); } // This theme uses wp_nav_menu() in locations. $nav_menus = array( 'top-main-menu' => esc_html__( 'Top Main Menu', 'ave-lite' ), 'social-menu' => esc_html__( 'Social Menu', 'ave-lite' ), 'mobile-menu' => esc_html__( 'Mobile Menu', 'ave-lite' ) ); register_nav_menus( apply_filters( 'ave_lite_set_nav_menus', $nav_menus ) ); // This theme styles the visual editor to resemble the theme style. $editor_url = is_child_theme()? AVELITE_CHILD_THEME_URL:AVELITE_THEME_URL; add_editor_style( array( $editor_url . '/assets/css/editor.css', ave_lite_fonts_url() ) ); } } add_action( 'after_setup_theme', 'ave_lite_setup_theme' ); /** * Fonts Url * @package WordPress * @subpackage AveTheme * @since 1.0.0 */ if ( !function_exists( 'ave_lite_fonts_url' ) ) { function ave_lite_fonts_url() { $font_families = array(); $font_subsets = array(); $google_fonts = array( array( 'family' => 'Poppins', 'variants' => array('regular', '600'), 'subsets' => array('latin', 'latin-ext') ), array( 'family' => 'Crimson Text', 'variants' => array('regular'), 'subsets' => array('latin') ) ); if ( $google_fonts && is_array($google_fonts) ) { // Fonts foreach( $google_fonts as $google_font_key => $google_font ) { $font_families[] = $google_font['family'] . ':' . implode(',', is_array($google_font['variants']) && $google_font['variants']? $google_font['variants']:array()); } // Subsets $google_subsets = wp_list_pluck($google_fonts, 'subsets'); foreach( $google_subsets as $google_subset_key => $google_subset ) { if ( is_array($google_subset) && $google_subset ) { foreach( $google_subset as $subset_key => $value ) { $font_subsets[] = $value; } } } $font_subsets = array_unique($font_subsets); } if ( !$font_families || !is_array( $font_families ) ) { return false; } $query_args = array( 'family' => urlencode(implode('|', $font_families)), 'subset' => urlencode(implode(',', $font_subsets)) ); $fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css'); return esc_url_raw($fonts_url); } } /** * Add preconnect for Google Fonts. * @package WordPress * @subpackage AveTheme * @since 1.0.0 */ if ( !function_exists( 'ave_lite_resource_hints' ) ) { function ave_lite_resource_hints( $urls, $relation_type ) { if ( wp_style_is( AVELITE_THEME_SLUG . '-google-fonts', 'queue' ) && 'preconnect' === $relation_type ) { $urls[] = array( 'href' => 'https://fonts.gstatic.com', 'crossorigin', ); } return $urls; } } add_filter( 'wp_resource_hints', 'ave_lite_resource_hints', 10, 2 ); /** * Add widget support. * @package WordPress * @subpackage AveTheme * @since 1.0.0 */ if ( !function_exists( 'ave_lite_widgets_init' ) ) { function ave_lite_widgets_init() { $sidebar_args = array( array( 'name' => esc_html__( 'Sidebar', 'ave-lite' ), 'id' => AVELITE_THEME_SLUG . '-sidebar', 'description' => esc_html__( 'Add widgets here to appear in your sidebar.', 'ave-lite' ) ) ); $sidebar_args = apply_filters( 'ave_lite_set_sidebars', $sidebar_args ); foreach( $sidebar_args as $sidebar ) { register_sidebar( array( 'name' => $sidebar['name'], 'id' => $sidebar['id'], 'description' => $sidebar['description'], 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } } } add_action( 'widgets_init', 'ave_lite_widgets_init' ); /** * Body Classes * @package WordPress * @subpackage AveTheme * @since 1.0.0 */ if ( !function_exists('ave_lite_extended_body_class' ) && !is_admin() ) { function ave_lite_extended_body_class($classes) { if ( is_singular('post') ) { $classes[] = 'single-post-default'; } return $classes; } } add_filter( 'body_class', 'ave_lite_extended_body_class' );