tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); /* * 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' ); add_image_size( 'coursemax-blog-thumbnail-img', 600, 400, true); // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => esc_html__( 'Primary Menu', 'coursemax' ), ) ); /* * 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', 'style', 'script', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'coursemax_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); // Add theme support for selective refresh for widgets. add_theme_support( 'customize-selective-refresh-widgets' ); /** * Add support for core custom logo. * * @link https://codex.wordpress.org/Theme_Logo */ add_theme_support( 'custom-logo', array( 'height' => 250, 'width' => 250, 'flex-width' => true, 'flex-height' => true, ) ); } endif; add_action( 'after_setup_theme', 'coursemax_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. * * @global int $content_width */ function coursemax_content_width() { // This variable is intended to be overruled from themes. // Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}. // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound $GLOBALS['content_width'] = apply_filters( 'coursemax_content_width', 640 ); } add_action( 'after_setup_theme', 'coursemax_content_width', 0 ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function coursemax_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'coursemax' ), 'id' => 'sidebar-1', 'description' => esc_html__( 'Add widgets here.', 'coursemax' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); for ($i = 1; $i <= 3; $i++) { register_sidebar(array( 'name' => esc_html__('Coursemax Footer Widget', 'coursemax') . $i, 'id' => 'coursemax_footer_' . $i, 'description' => esc_html__('Shows Widgets in Footer', 'coursemax') . $i, 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', )); } } add_action( 'widgets_init', 'coursemax_widgets_init' ); /** * Enqueue scripts and styles. */ function coursemax_scripts_enqueue() { wp_enqueue_style( 'coursemax-style', get_stylesheet_uri() ); wp_enqueue_style( 'coursemax-font', coursemax_font_url(), array(), null); wp_enqueue_style( 'coursemax-bootstrap-css', get_template_directory_uri() . '/assets/css/bootstrap.min.css', array(), '1.0' ); wp_enqueue_style( 'coursemax-fontawesome-css', get_template_directory_uri() . '/assets/css/font-awesome.css', array(), '1.0' ); wp_enqueue_style( 'coursemax-slick-css', get_template_directory_uri() . '/assets/css/slick.css', array(), '1.0' ); wp_enqueue_style( 'coursemax-ionicons-css', get_template_directory_uri() . '/assets/css/ionicons.css', array(), '1.0' ); wp_enqueue_style( 'coursemax-css', get_template_directory_uri() . '/assets/css/coursemax.css', array(), '1.0' ); wp_enqueue_style( 'coursemax-media-css', get_template_directory_uri() . '/assets/css/media-queries.css', array(), '1.0' ); wp_enqueue_script( 'coursemax-navigation', get_template_directory_uri() . '/js/navigation.js', array('jquery'), '1.0', true); wp_enqueue_script( 'coursemax-bootstrap', get_template_directory_uri() . '/assets/js/bootstrap.min.js', array('jquery'), '1.0', true); wp_enqueue_script( 'coursemax-slick', get_template_directory_uri() . '/assets/js/slick.min.js', array('jquery'), '1.0', true); wp_enqueue_script( 'coursemax-app', get_template_directory_uri() . '/assets/js/app.js', array('jquery'), '1.0', true); wp_enqueue_script( 'coursemax-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array('jquery'), '', true); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'coursemax_scripts_enqueue' ); function coursemax_custom_customize_enqueue() { wp_enqueue_style('coursemax-customizer-style', trailingslashit(get_template_directory_uri()) . 'inc/customizer/css/customizer-control.css'); } add_action('customize_controls_enqueue_scripts', 'coursemax_custom_customize_enqueue'); if (!function_exists('coursemax_font_url')) : function coursemax_font_url() { $fonts_url = ''; $fonts = array(); if ('off' !== _x('on', 'Oxygen font: on or off', 'coursemax')) { $fonts[] = 'Oxygen:400,700'; } if ($fonts) { $fonts_url = add_query_arg(array( 'family' => urlencode(implode('|', $fonts)), ), '//fonts.googleapis.com/css'); } return $fonts_url; } endif; /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; require get_template_directory() . '/inc/coursemax-menu.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Functions which enhance the theme by hooking into WordPress. */ require get_template_directory() . '/inc/template-functions.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer-control.php'; require get_template_directory() . '/inc/customizer.php'; require get_template_directory() . '/inc/coursemax-customizer-default.php'; require get_template_directory() . '/plugin-activation.php'; require get_template_directory() . '/lib/coursemax-tgmp.php'; require_once( trailingslashit( get_template_directory() ) . 'trt-customize-pro/coursemax-upgrade/class-customize.php' ); /** * Load Jetpack compatibility file. */ if ( defined( 'JETPACK__VERSION' ) ) { require get_template_directory() . '/inc/jetpack.php'; } if (!function_exists('coursemax_get_excerpt')) : function coursemax_get_excerpt($post_id, $count) { $content_post = get_post($post_id); $excerpt = $content_post->post_content; $excerpt = strip_shortcodes($excerpt); $excerpt = strip_tags($excerpt); $excerpt = preg_replace('/\s\s+/', ' ', $excerpt); $excerpt = preg_replace('#\[[^\]]+\]#', ' ', $excerpt); $strip = explode(' ', $excerpt); foreach ($strip as $key => $single) { if (!filter_var($single, FILTER_VALIDATE_URL) === false) { unset($strip[$key]); } } $excerpt = implode(' ', $strip); $excerpt = substr($excerpt, 0, $count); if (strlen($excerpt) >= $count) { $excerpt = substr($excerpt, 0, strripos($excerpt, ' ')); $excerpt = $excerpt . '...'; } return $excerpt; } endif; if ( ! function_exists( 'wp_body_open' ) ) { function wp_body_open() { do_action( 'wp_body_open' ); } } if (!function_exists('coursemax_blank_widget')) { function coursemax_blank_widget() { echo '
'; if (is_user_logged_in() && current_user_can('edit_theme_options')) { echo ' ' . esc_html__('Add Footer Widget', 'coursemax') . ''; } echo '
'; } } function coursemax_widget_theme_support() { remove_theme_support( 'widgets-block-editor' ); } add_action( 'after_setup_theme', 'coursemax_widget_theme_support' );