240, 'width' => 240, 'flex-height' => true, ) ); add_image_size('vcard-cv-resume-homepage-thumb',240,145,true); register_nav_menus( array( 'primary' => __( 'Primary Menu', 'vcard-cv-resume' ), ) ); add_theme_support( 'custom-background', array( 'default-color' => 'ffffff' ) ); //selective refresh for sidebar and widgets add_theme_support( 'customize-selective-refresh-widgets' ); /* * Enable support for Post Formats. * * See: https://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array('image','video','gallery','audio',) ); /* * This theme styles the visual editor to resemble the theme style, * specifically font, colors, icons, and column width. */ add_editor_style( array( 'css/editor-style.css', vcard_cv_resume_font_url() ) ); // Theme Activation Notice global $pagenow; if (is_admin() || ('themes.php' == $pagenow)) { add_action('admin_notices', 'vcard_cv_resume_activation_notice'); } } endif; add_action( 'after_setup_theme', 'vcard_cv_resume_setup' ); // Notice after Theme Activation function vcard_cv_resume_activation_notice() { echo '
'; echo '

'. esc_html__( 'Thank you for choosing Vcard CV Resume. Would like to have you on our Welcome page so that you can reap all the benefits of our Vcard CV Resume.', 'vcard-cv-resume' ) .'

'; echo '

'. esc_html__( 'GET STARTED', 'vcard-cv-resume' ) .'

'; echo '
'; } /* Theme Widgets Setup */ function vcard_cv_resume_widgets_init() { register_sidebar( array( 'name' => __( 'Blog Sidebar', 'vcard-cv-resume' ), 'description' => __( 'Appears on blog page sidebar', 'vcard-cv-resume' ), 'id' => 'sidebar-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Page Sidebar', 'vcard-cv-resume' ), 'description' => __( 'Appears on page sidebar', 'vcard-cv-resume' ), 'id' => 'sidebar-2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 1', 'vcard-cv-resume' ), 'description' => __( 'Appears on footer 1', 'vcard-cv-resume' ), 'id' => 'footer-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 2', 'vcard-cv-resume' ), 'description' => __( 'Appears on footer 2', 'vcard-cv-resume' ), 'id' => 'footer-2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 3', 'vcard-cv-resume' ), 'description' => __( 'Appears on footer 3', 'vcard-cv-resume' ), 'id' => 'footer-3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 4', 'vcard-cv-resume' ), 'description' => __( 'Appears on footer 4', 'vcard-cv-resume' ), 'id' => 'footer-4', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Shop Page Sidebar', 'vcard-cv-resume' ), 'description' => __( 'Appears on shop page', 'vcard-cv-resume' ), 'id' => 'woocommerce-shop-sidebar', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Single Product Sidebar', 'vcard-cv-resume' ), 'description' => __( 'Appears on single product page', 'vcard-cv-resume' ), 'id' => 'woocommerce-single-sidebar', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Social Media', 'vcard-cv-resume' ), 'description' => __( 'Appears on top header', 'vcard-cv-resume' ), 'id' => 'social-links', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'vcard_cv_resume_widgets_init' ); /* Theme Font URL */ function vcard_cv_resume_font_url() { $font_url = ''; $font_family = array(); $font_family[] = 'Literata:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900'; $font_family[] = 'Nunito Sans:ital,wght@0,200;0,300;0,400;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,600;1,700;1,800;1,900'; $font_family[] = 'Exo 2:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900'; $font_family[] = 'Sail'; $font_family[] = 'Jomhuria'; $font_family[] = 'Jost:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'ABeeZee:400,400i'; $font_family[] = 'Trirong:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'ZCOOL XiaoWei'; $font_family[] = 'Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'Heebo:100,300,400,500,700,800,900'; $font_family[] = 'Saira:100,200,300,400,500,600,700,800,900'; $font_family[] = 'Krub:200,200i,300,300i,400,400i,500,500i,600,600i,700,700i'; $font_family[] = 'PT Sans:300,400,600,700,800,900'; $font_family[] = 'Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i'; $font_family[] = 'Roboto Condensed:400,700'; $font_family[] = 'Open Sans:300,300i,400,400i,600,600i,700,700i,800,800i'; $font_family[] = 'Fira Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'Overpass'; $font_family[] = 'Staatliches'; $font_family[] = 'Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'Playball:300,400,600,700,800,900'; $font_family[] = 'Alegreya:300,400,600,700,800,900'; $font_family[] = 'Julius Sans One'; $font_family[] = 'Arsenal'; $font_family[] = 'Slabo'; $font_family[] = 'Lato'; $font_family[] = 'Overpass Mono'; $font_family[] = 'Source Sans Pro'; $font_family[] = 'Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,100;1,200;1,400;1,500;1,600;1,700;1,800;1,900'; $font_family[] = 'Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900'; $font_family[] = 'Droid Sans'; $font_family[] = 'Rubik'; $font_family[] = 'Lora'; $font_family[] = 'Ubuntu'; $font_family[] = 'Cabin'; $font_family[] = 'Arimo'; $font_family[] = 'Playfair Display'; $font_family[] = 'Quicksand'; $font_family[] = 'Padauk'; $font_family[] = 'Muli:100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,100;1,200;1,400;1,500;1,600;1,700;1,800;1,900'; $font_family[] = 'Inconsolata'; $font_family[] = 'Bitter'; $font_family[] = 'Pacifico'; $font_family[] = 'Indie Flower'; $font_family[] = 'VT323'; $font_family[] = 'Dosis'; $font_family[] = 'Frank Ruhl Libre'; $font_family[] = 'Fjalla One'; $font_family[] = 'Oxygen:300,400,700'; $font_family[] = 'Arvo'; $font_family[] = 'Noto Serif'; $font_family[] = 'Lobster'; $font_family[] = 'Crimson Text'; $font_family[] = 'Yanone Kaffeesatz'; $font_family[] = 'Anton'; $font_family[] = 'Libre Baskerville'; $font_family[] = 'Bree Serif'; $font_family[] = 'Gloria Hallelujah'; $font_family[] = 'Josefin Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700'; $font_family[] = 'Abril Fatface'; $font_family[] = 'Varela Round'; $font_family[] = 'Vampiro One'; $font_family[] = 'Shadows Into Light'; $font_family[] = 'Cuprum'; $font_family[] = 'Rokkitt'; $font_family[] = 'Vollkorn:400,400i,600,600i,700,700i,900,900i'; $font_family[] = 'Francois One'; $font_family[] = 'Orbitron'; $font_family[] = 'Patua One'; $font_family[] = 'Acme'; $font_family[] = 'Satisfy'; $font_family[] = 'Josefin Slab:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700'; $font_family[] = 'Quattrocento Sans'; $font_family[] = 'Architects Daughter'; $font_family[] = 'Russo One'; $font_family[] = 'Monda'; $font_family[] = 'Righteous'; $font_family[] = 'Lobster Two'; $font_family[] = 'Hammersmith One'; $font_family[] = 'Courgette'; $font_family[] = 'Permanent Marker'; $font_family[] = 'Cherry Swash'; $font_family[] = 'Cormorant Garamond'; $font_family[] = 'Poiret One'; $font_family[] = 'BenchNine'; $font_family[] = 'Economica'; $font_family[] = 'Handlee'; $font_family[] = 'Cardo'; $font_family[] = 'Alfa Slab One'; $font_family[] = 'Averia Serif Libre'; $font_family[] = 'Cookie'; $font_family[] = 'Chewy'; $font_family[] = 'Great Vibes'; $font_family[] = 'Coming Soon'; $font_family[] = 'Philosopher'; $font_family[] = 'Days One'; $font_family[] = 'Kanit'; $font_family[] = 'Shrikhand'; $font_family[] = 'Tangerine'; $font_family[] = 'IM Fell English SC'; $font_family[] = 'Boogaloo'; $font_family[] = 'Bangers'; $font_family[] = 'Fredoka One'; $font_family[] = 'Bad Script'; $font_family[] = 'Volkhov'; $font_family[] = 'Shadows Into Light Two'; $font_family[] = 'Marck Script'; $font_family[] = 'Sacramento'; $font_family[] = 'Unica One'; $query_args = array( 'family' => rawurlencode(implode('|',$font_family)), ); $font_url = add_query_arg($query_args,'//fonts.googleapis.com/css'); return $font_url; } /* Theme enqueue scripts */ function vcard_cv_resume_scripts() { wp_enqueue_style( 'vcard-cv-resume-font', vcard_cv_resume_font_url(), array() ); wp_enqueue_style( 'vcard-cv-resume-block-style', get_theme_file_uri('/assets/css/blocks.css') ); wp_enqueue_style( 'vcard-cv-resume-block-patterns-style-frontend', get_theme_file_uri('/inc/block-patterns/css/block-frontend.css') ); wp_enqueue_style( 'bootstrap-style', esc_url(get_template_directory_uri()).'/assets/css/bootstrap.css' ); wp_enqueue_style( 'vcard-cv-resume-basic-style', get_stylesheet_uri() ); wp_style_add_data('vcard-cv-resume-basic-style', 'rtl', 'replace'); /* Inline style sheet */ require get_parent_theme_file_path( '/custom-style.php' ); wp_add_inline_style( 'vcard-cv-resume-basic-style',$vcard_cv_resume_custom_css ); wp_enqueue_style( 'font-awesome-css', esc_url(get_template_directory_uri()).'/assets/css/fontawesome-all.css' ); wp_enqueue_script( 'jquery-superfish', get_theme_file_uri( '/assets/js/jquery.superfish.js' ), array( 'jquery' ), '2.1.2', true ); wp_enqueue_script( 'bootstrap-js', esc_url(get_template_directory_uri()). '/assets/js/bootstrap.js', array('jquery') ,'',true); wp_enqueue_script( 'vcard-cv-resume-custom-scripts-jquery', esc_url(get_template_directory_uri()) . '/assets/js/custom.js', array('jquery'),'' ,true ); wp_enqueue_script( 'vcard-cv-resume-jquery-wow', esc_url(get_template_directory_uri()) . '/assets/js/wow.js', array('jquery') ); wp_enqueue_style( 'vcard-cv-resume-animate-css', esc_url(get_template_directory_uri()).'/assets/css/animate.css' ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } /* Enqueue the Dashicons script */ wp_enqueue_style( 'dashicons' ); } add_action( 'wp_enqueue_scripts', 'vcard_cv_resume_scripts' ); /** * Enqueue block editor style */ function vcard_cv_resume_block_editor_styles() { wp_enqueue_style( 'vcard-cv-resume-font', vcard_cv_resume_font_url(), array() ); wp_enqueue_style( 'vcard-cv-resume-block-patterns-style-editor', get_theme_file_uri( '/inc/block-patterns/css/block-editor.css' ), false, '1.0', 'all' ); wp_enqueue_style( 'bootstrap-style', esc_url(get_template_directory_uri()).'/assets/css/bootstrap.css' ); wp_enqueue_style( 'font-awesome-css', esc_url(get_template_directory_uri()).'/assets/css/fontawesome-all.css' ); } add_action( 'enqueue_block_editor_assets', 'vcard_cv_resume_block_editor_styles' ); define('VCARD_CV_RESUME_FREE_THEME_DOC',__('https://www.vwthemesdemo.com/docs/free-vcard-cv-resume/','vcard-cv-resume')); define('VCARD_CV_RESUME_SUPPORT',__('https://wordpress.org/support/theme/vcard-cv-resume/','vcard-cv-resume')); define('VCARD_CV_RESUME_REVIEW',__('https://wordpress.org/support/theme/vcard-cv-resume/reviews','vcard-cv-resume')); define('VCARD_CV_RESUME_BUY_NOW',__('https://www.vwthemes.com/themes/cv-resume-wordpress-theme/','vcard-cv-resume')); define('VCARD_CV_RESUME_LIVE_DEMO',__('https://www.vwthemes.net/vw-vcard-cv-resume/','vcard-cv-resume')); define('VCARD_CV_RESUME_PRO_DOC',__('https://vwthemesdemo.com/docs/vw-vcard-cv-resume-pro/','vcard-cv-resume')); define('VCARD_CV_RESUME_FAQ',__('https://www.vwthemes.com/faqs/','vcard-cv-resume')); define('VCARD_CV_RESUME_CHILD_THEME',__('https://developer.wordpress.org/themes/advanced-topics/child-themes/','vcard-cv-resume')); define('VCARD_CV_RESUME_CONTACT',__('https://www.vwthemes.com/contact/','vcard-cv-resume')); define('VCARD_CV_RESUME_CREDIT',__('https://www.vwthemes.com/themes/free-cv-resume-wordpress-theme/','vcard-cv-resume')); if ( ! function_exists( 'vcard_cv_resume_credit' ) ) { function vcard_cv_resume_credit(){ echo "".esc_html__('CV Resume WordPress Theme','vcard-cv-resume').""; } } function vcard_cv_resume_sanitize_dropdown_pages( $page_id, $setting ) { // Ensure $input is an absolute integer. $page_id = absint( $page_id ); // If $page_id is an ID of a published page, return it; otherwise, return the default. return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default ); } function vcard_cv_resume_sanitize_choices( $input, $setting ) { global $wp_customize; $control = $wp_customize->get_control( $setting->id ); if ( array_key_exists( $input, $control->choices ) ) { return $input; } else { return $setting->default; } } function vcard_cv_resume_sanitize_number_range( $number, $setting ) { // Ensure input is an absolute integer. $number = absint( $number ); // Get the input attributes associated with the setting. $atts = $setting->manager->get_control( $setting->id )->input_attrs; // Get minimum number in the range. $min = ( isset( $atts['min'] ) ? $atts['min'] : $number ); // Get maximum number in the range. $max = ( isset( $atts['max'] ) ? $atts['max'] : $number ); // Get step. $step = ( isset( $atts['step'] ) ? $atts['step'] : 1 ); // If the number is within the valid range, return it; otherwise, return the default return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default ); } function vcard_cv_resume_sanitize_number_absint( $number, $setting ) { // Ensure $number is an absolute integer (whole number, zero or greater). $number = absint( $number ); // If the input is an absolute integer, return it; otherwise, return the default return ( $number ? $number : $setting->default ); } /* Excerpt Limit Begin */ function vcard_cv_resume_string_limit_words($string, $word_limit) { $words = explode(' ', $string, ($word_limit + 1)); if(count($words) > $word_limit) array_pop($words); return implode(' ', $words); } if ( ! function_exists( 'vcard_cv_resume_switch_sanitization' ) ) { function vcard_cv_resume_switch_sanitization( $input ) { if ( true === $input ) { return 1; } else { return 0; } } } // Change number or products per row to 3 add_filter('loop_shop_columns', 'vcard_cv_resume_loop_columns'); if (!function_exists('vcard_cv_resume_loop_columns')) { function vcard_cv_resume_loop_columns() { return 3; // 3 products per row } } function vcard_cv_resume_logo_title_hide_show(){ if(get_theme_mod('vcard_cv_resume_logo_title_hide_show') == '1' ) { return true; } return false; } function vcard_cv_resume_tagline_hide_show(){ if(get_theme_mod('vcard_cv_resume_tagline_hide_show') == '1' ) { return true; } return false; } /* 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'; /* Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /* Typography */ require get_template_directory() . '/inc/typography/ctypo.php'; /* Implement the About theme page */ require get_template_directory() . '/inc/getstart/getstart.php'; /* Block Pattern */ require get_template_directory() . '/inc/block-patterns/block-patterns.php'; /* Social Icons */ require get_template_directory() . '/inc/themes-widgets/social-icon.php'; /* TGM Plugin Activation */ require get_template_directory() . '/inc/tgm/tgm.php'; /* Plugin Activation */ require get_template_directory() . '/inc/getstart/plugin-activation.php';