tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); // Add theme support for Custom Logo. // Custom logo. $logo_width = 300; $logo_height = 90; // If the retina setting is active, double the recommended width and height. if ( get_theme_mod( 'retina_logo', false ) ) { $logo_width = floor( $logo_width * 2 ); $logo_height = floor( $logo_height * 2 ); } $args = array( 'height' => $logo_height, 'width' => $logo_width, 'flex-height' => true, 'flex-width' => true, ); add_theme_support('custom-logo', $args); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support( 'post-thumbnails' ); // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => esc_html__( 'Top Menu', 'blackvideo' ), 'left' => esc_html__( 'Left Menu', 'blackvideo' ), 'footer' => esc_html__( 'Footer Menu', 'blackvideo' ), 'mobile' => esc_html__( 'Mobile Menu', 'blackvideo' ), ) ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'blackvideo_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); // Add support for editor styles. add_theme_support( 'editor-styles' ); $editor_stylesheet_path = './assets/css/editor-style.css'; // Enqueue editor styles. add_editor_style( $editor_stylesheet_path ); } endif; add_action( 'after_setup_theme', 'blackvideo_setup' ); /** * Set the content width in pixels, based on the theme's design and stylesheet. * * Priority 0 to make it available to lower priority callbacks. * */ // Set content-width. global $content_width; if ( ! isset( $content_width ) ) { $content_width = 858; } /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function blackvideo_sidebar_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'blackvideo' ), 'id' => 'sidebar-1', 'description' => esc_html__( 'Add widgets here.', 'blackvideo' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Home Content', 'blackvideo' ), 'id' => 'home', 'description' => esc_html__( 'Only add the "Home Content", "Image" and "Custom HTML" widgets here.', 'blackvideo' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'blackvideo_sidebar_init' ); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Custom functions that act independently of the theme templates. */ require get_template_directory() . '/inc/extras.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /** * Load Jetpack compatibility file. */ require get_template_directory() . '/inc/jetpack.php'; /** * SVG Icons. */ require get_template_directory() . '/inc/classes/class-blackvideo-svg-icons.php'; /** * Menu Walker. */ require get_template_directory() . '/inc/classes/class-blackvideo-walker-page.php'; // Block Patterns. require get_template_directory() . '/inc/block-patterns.php'; // Block Styles. require get_template_directory() . '/inc/block-styles.php'; /** * Load about page. */ require get_template_directory() . '/inc/about.php'; /** * Google fonts. */ if ( ! function_exists( 'blackvideo_fonts_url' ) ) : /** * Register Google fonts for BlackVideo * * Create your own blackvideo_fonts_url() function to override in a child theme. * * @since 1.0 * * @return string Google fonts URL for the theme. */ function blackvideo_fonts_url() { $fonts_url = ''; /* Translators: If there are characters in your language that are not * supported by Poppins, translate this to 'off'. Do not translate * into your own language. */ $font_families = array( 'Inter:wght@400;600;700' ); if ( ! empty( $font_families ) ) { $query_args = array( 'family' => implode( '&family=', $font_families ), //urlencode( implode( '|', $font_families ) ), // 'subset' => urlencode( 'latin,latin-ext' ), 'display' => 'swap', ); $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css2' ); } if ( ! class_exists( 'WPTT_WebFont_Loader' ) ) { // Load Google fonts from Local. require_once get_theme_file_path( 'inc/lib/wptt-webfont-loader.php' ); } return esc_url( wptt_get_webfont_url( $fonts_url ) ); } endif; /** * Enqueues scripts and styles. */ function blackvideo_scripts() { // load jquery if it isn't wp_enqueue_script('jquery'); // Enqueues Javascripts wp_enqueue_script( 'superfish', get_template_directory_uri() . '/assets/js/superfish.js', array(), '', true ); wp_enqueue_script( 'html5', get_template_directory_uri() . '/assets/js/html5.js', array(), '', true ); wp_enqueue_script( 'theia-sticky-sidebar', get_template_directory_uri() . '/assets/js/theia-sticky-sidebar.js', array(), '', true ); wp_enqueue_script( 'blackvideo-index', get_template_directory_uri() . '/assets/js/index.js', array(), '20240520', true ); wp_enqueue_script( 'blackvideo-scrollbar', get_template_directory_uri() . '/assets/js/jquery.mCustomScrollbar.concat.min.js', array(), '20240520', true ); wp_enqueue_script( 'blackvideo-custom', get_template_directory_uri() . '/assets/js/jquery.custom.js', array(), '20240520', true ); // Enqueues CSS styles wp_enqueue_style( 'blackvideo-fonts', blackvideo_fonts_url(), array(), null ); wp_enqueue_style( 'blackvideo-style', get_stylesheet_uri(), array(), '20240520' ); wp_enqueue_style( 'blackvideo-responsive-style', get_template_directory_uri() . '/responsive.css', array(), '20240520' ); wp_enqueue_style( 'genericons-style', get_template_directory_uri() . '/genericons/genericons.css' ); wp_enqueue_style( 'font-awesome-style', get_template_directory_uri() . '/assets/css/font-awesome.css', array(), '20240520' ); wp_enqueue_style( 'mCustomScrollbar-style', get_template_directory_uri() . '/assets/css/jquery.mCustomScrollbar.css', array(), '20240520' ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'blackvideo_scripts' ); function blackvideo_editor_styles() { // Enqueue editor styles. add_editor_style( array( blackvideo_fonts_url(), ) ); } add_action( 'admin_init', 'blackvideo_editor_styles' ); /** * Post Thumbnails. */ if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 300, 300, true ); // default Post Thumbnail dimensions (cropped) add_image_size( 'blackvideo_post_thumb', 480, 270, true ); } /** * Registers custom widgets. */ function blackvideo_widgets_init() { require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-popular.php'; register_widget( 'BlackVideo_Most_Commented_Widget' ); require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-recent.php'; register_widget( 'BlackVideo_Recent_Widget' ); require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-random.php'; register_widget( 'BlackVideo_Random_Widget' ); require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-home-content.php'; register_widget( 'BlackVideo_Home_Content_Widget' ); } add_action( 'widgets_init', 'blackvideo_widgets_init' );