240,
'width' => 240,
'flex-height' => true,
) );
add_image_size('objtech-homepage-thumb',240,145,true);
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'objtech' ),
) );
add_theme_support( 'custom-background', array(
'default-color' => 'ffffff'
) );
//selective refresh for sidebar and widgets
add_theme_support( 'customize-selective-refresh-widgets' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
/*
* 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', objtech_font_url() ) );
// Theme Activation Notice
global $pagenow;
if (is_admin() || ('themes.php' == $pagenow)) {
add_action('admin_notices', 'objtech_activation_notice');
}
}
endif;
add_action( 'after_setup_theme', 'objtech_setup' );
// Notice after Theme Activation
function objtech_activation_notice() {
echo '
';
echo '
'. esc_html__( 'Thank you for choosing VW Ecommerce Store Theme. Would like to have you on our Welcome page so that you can reap all the benefits of our VW Ecommerce Store Theme.', 'objtech' ) .'
';
echo '
'. esc_html__( 'GET STARTED', 'objtech' ) .'
';
echo '
';
}
/* Theme Widgets Setup */
function objtech_widgets_init() {
register_sidebar( array(
'name' => __( 'Blog Sidebar', 'objtech' ),
'description' => __( 'Appears on blog page sidebar', 'objtech' ),
'id' => 'sidebar-1',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Page Sidebar', 'objtech' ),
'description' => __( 'Appears on page sidebar', 'objtech' ),
'id' => 'sidebar-2',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Sidebar 3', 'objtech' ),
'description' => __( 'Appears on blog page sidebar', 'objtech' ),
'id' => 'sidebar-3',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Footer Navigation 1', 'objtech' ),
'description' => __( 'Appears on footer 1', 'objtech' ),
'id' => 'footer-1',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Footer Navigation 2', 'objtech' ),
'description' => __( 'Appears on footer 2', 'objtech' ),
'id' => 'footer-2',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Footer Navigation 3', 'objtech' ),
'description' => __( 'Appears on footer 3', 'objtech' ),
'id' => 'footer-3',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Footer Navigation 4', 'objtech' ),
'description' => __( 'Appears on footer 4', 'objtech' ),
'id' => 'footer-4',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Top Bar Social Media', 'objtech' ),
'description' => __( 'Appears on top bar', 'objtech' ),
'id' => 'social-links',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Shop Page Sidebar', 'objtech' ),
'description' => __( 'Appears on shop page', 'objtech' ),
'id' => 'woocommerce-shop-sidebar',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => __( 'Single Product Sidebar', 'objtech' ),
'description' => __( 'Appears on single product page', 'objtech' ),
'id' => 'woocommerce-single-sidebar',
'before_widget' => '',
'before_title' => '',
) );
}
add_action( 'widgets_init', 'objtech_widgets_init' );
/* Theme Font URL */
function objtech_font_url() {
$font_url = '';
$font_family = array();
$font_family[] = 'ZCOOL XiaoWei';
$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';
$font_family[] = 'Overpass';
$font_family[] = 'Staatliches';
$font_family[] = 'Fira Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i';
$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';
$font_family[] = 'Merriweather';
$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';
$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';
$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';
$font_family[] = 'Francois One';
$font_family[] = 'Orbitron';
$font_family[] = 'Patua One';
$font_family[] = 'Acme';
$font_family[] = 'Satisfy';
$font_family[] = 'Josefin Slab';
$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 objtech_scripts() {
wp_enqueue_style( 'stylescss', get_theme_file_uri('/assets/css/style.css') );
wp_enqueue_style( 'bootstrap-style', esc_url(get_template_directory_uri()).'/assets/css/bootstrap.min.css' );
wp_enqueue_style( 'owlcss', esc_url(get_template_directory_uri()).'assets/css/owl.carousel.css' );
wp_enqueue_style( 'animationscss', esc_url(get_template_directory_uri()).'/assets/css/animate.min.css' );
wp_enqueue_style( 'Font_Awesome', esc_url(get_template_directory_uri()).'/assets/css/icons.min.css' );
wp_enqueue_style('fontgoogle', 'https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap');
wp_enqueue_script( 'Jquery-js', esc_url(get_template_directory_uri()) . '/assets/js/jquery-3.4.1.min.js', array('jquery') ,'',true);
wp_enqueue_script( 'bootstrapjs', esc_url(get_template_directory_uri()) . '/assets/js/bootstrap.bundle.min.js', array('jquery') ,'',true);
//wp_enqueue_script( 'owljs', esc_url(get_template_directory_uri()) . '/assets/js/owl.carousel.js', array('jquery') ,'',true);
wp_enqueue_script( 'mainjs', esc_url(get_template_directory_uri()) . '/assets/js/main.js', array('jquery') ,'',true);
wp_enqueue_script( 'wowjs', esc_url(get_template_directory_uri()) . '/assets/js/wow.min.js', array('jquery') );
wp_enqueue_script( 'easing', esc_url(get_template_directory_uri()) . '/assets/js/easing.min.js', array('jquery') );
wp_enqueue_script( 'waypoints', esc_url(get_template_directory_uri()) . '/assets/js/waypoints.min.js', array('jquery') );
}
add_action( 'wp_enqueue_scripts', 'objtech_scripts' );
/**
* Enqueue block editor style
*/
function objtech_block_editor_styles() {
wp_enqueue_style( 'objtech-font', objtech_font_url(), array() );
wp_enqueue_style( 'objtech-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' );
}
add_action( 'enqueue_block_editor_assets', 'objtech_block_editor_styles' );
function objtech_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 );
}
/*radio button sanitization*/
function objtech_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 objtech_sanitize_float( $input ) {
return filter_var($input, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
}
function objtech_sanitize_number_range( $number, $setting ) {
$number = absint( $number );
$atts = $setting->manager->get_control( $setting->id )->input_attrs;
$min = ( isset( $atts['min'] ) ? $atts['min'] : $number );
$max = ( isset( $atts['max'] ) ? $atts['max'] : $number );
$step = ( isset( $atts['step'] ) ? $atts['step'] : 1 );
return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default );
}
/* Excerpt Limit Begin */
function objtech_string_limit_words($string, $word_limit) {
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words);
}
// Change number or products per row to 3
add_filter('loop_shop_columns', 'objtech_loop_columns');
if (!function_exists('objtech_loop_columns')) {
function objtech_loop_columns() {
return get_theme_mod( 'objtech_products_per_row', '3' );
// 3 products per row
}
}
//Change number of products that are displayed per page (shop page)
add_filter( 'loop_shop_per_page', 'objtech_products_per_page' );
function objtech_products_per_page( $cols ) {
return get_theme_mod( 'objtech_products_per_page',9);
}
function objtech_logo_title_hide_show(){
if(get_theme_mod('objtech_logo_title_hide_show') == '1' ) {
return true;
}
return false;
}
function objtech_logo_tagline_hide_show(){
if(get_theme_mod('objtech_logo_tagline_hide_show') == '1' ) {
return true;
}
return false;
}
function retImage($content) {
if( has_post_thumbnail() )
return the_post_thumbnail( 'thumbnail' );
$pattern="//";
preg_match_all($pattern,$content,$match);
if(empty($match[0][0])){
echo "
";
} else {
echo $match[0][0];
}
}
function themename_custom_header_setup() {
$defaults = array(
// Default Header Image to display
'default-image' => get_template_directory_uri() . '/images/headers/default.jpg',
// Display the header text along with the image
'header-text' => false,
// Header text color default
'default-text-color' => '000',
// Header image width (in pixels)
'width' => 1000,
// Header image height (in pixels)
'height' => 198,
// Header image random rotation default
'random-default' => false,
// Enable upload of image file in admin
'uploads' => false,
// function to be called in theme head section
'wp-head-callback' => 'wphead_cb',
// function to be called in preview page head section
'admin-head-callback' => 'adminhead_cb',
// function to produce preview markup in the admin screen
'admin-preview-callback' => 'adminpreview_cb',
);
}
add_action( 'after_setup_theme', 'themename_custom_header_setup' );
$defaults = array(
'default-image' => '',
'default-preset' => 'default', // 'default', 'fill', 'fit', 'repeat', 'custom'
'default-position-x' => 'left', // 'left', 'center', 'right'
'default-position-y' => 'top', // 'top', 'center', 'bottom'
'default-size' => 'auto', // 'auto', 'contain', 'cover'
'default-repeat' => 'repeat', // 'repeat-x', 'repeat-y', 'repeat', 'no-repeat'
'default-attachment' => 'scroll', // 'scroll', 'fixed'
'default-color' => '',
'wp-head-callback' => '_custom_background_cb',
'admin-head-callback' => '',
'admin-preview-callback' => '',
);
add_theme_support( 'custom-background', $defaults );