automobile_detailing_shop_add( 'WPTRT\\Customize\\Section', get_theme_file_path( 'vendor/wptrt/customize-section-button/src' ) ); $Automobile_Detailing_Shop_Loader->automobile_detailing_shop_register(); if ( ! function_exists( 'automobile_detailing_shop_setup' ) ) : function automobile_detailing_shop_setup() { /* * Enable support for Post Formats. * * See: https://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array('image','video','gallery','audio',) ); add_theme_support( "responsive-embeds" ); add_theme_support( "align-wide" ); add_theme_support( "wp-block-styles" ); add_theme_support( 'automatic-feed-links' ); add_theme_support( 'woocommerce' ); add_theme_support( 'title-tag' ); add_theme_support( 'post-thumbnails' ); add_image_size('automobile-detailing-shop-featured-header-image', 2000, 660, true); register_nav_menus( array( 'primary' => esc_html__( 'Primary','automobile-detailing-shop' ), ) ); add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); add_theme_support( 'custom-background', apply_filters( 'automobile_detailing_shop_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); add_theme_support( 'customize-selective-refresh-widgets' ); add_theme_support( 'custom-logo', array( 'height' => 200, 'width' => 200, 'flex-width' => true, ) ); add_editor_style( array( '/editor-style.css' ) ); add_action('wp_ajax_automobile_detailing_shop_dismissable_notice', 'automobile_detailing_shop_dismissable_notice'); } endif; add_action( 'after_setup_theme', 'automobile_detailing_shop_setup' ); if ( ! function_exists( 'automobile_detailing_shop_file_setup' ) ) : function automobile_detailing_shop_file_setup() { /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; } endif; add_action( 'after_setup_theme', 'automobile_detailing_shop_file_setup' ); /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Functions which enhance the theme by hooking into WordPress. */ require get_template_directory() . '/inc/template-functions.php'; function automobile_detailing_shop_content_width() { $GLOBALS['content_width'] = apply_filters( 'automobile_detailing_shop_content_width', 1170 ); } add_action( 'after_setup_theme', 'automobile_detailing_shop_content_width', 0 ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function automobile_detailing_shop_widgets_init() { require_once get_theme_file_path( 'inc/wptt-webfont-loader.php' ); register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'automobile-detailing-shop' ), 'id' => 'sidebar', 'description' => esc_html__( 'Add widgets here.', 'automobile-detailing-shop' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Column 1', 'automobile-detailing-shop' ), 'id' => 'automobile-detailing-shop-footer1', 'description' => '', 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Column 2', 'automobile-detailing-shop' ), 'id' => 'automobile-detailing-shop-footer2', 'description' => '', 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Column 3', 'automobile-detailing-shop' ), 'id' => 'automobile-detailing-shop-footer3', 'description' => '', 'before_widget' => '', 'before_title' => '', ) ); } add_action( 'widgets_init', 'automobile_detailing_shop_widgets_init' ); /** * Enqueue scripts and styles. */ function automobile_detailing_shop_scripts() { wp_enqueue_style( 'saira', automobile_detailing_shop_wptt_get_webfont_url('https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,100..900;1,100..900&display=swap'), // font-family: "Saira", sans-serif; array(), '1.0' ); wp_enqueue_style( 'automobile-detailing-shop-block-editor-style', get_theme_file_uri('/assets/css/block-editor-style.css') ); // load bootstrap css wp_enqueue_style( 'bootstrap-css', get_template_directory_uri() . '/assets/css/bootstrap.css'); wp_enqueue_style( 'owl.carousel-css', get_template_directory_uri() . '/assets/css/owl.carousel.css'); wp_enqueue_style( 'automobile-detailing-shop-style', get_stylesheet_uri() ); require get_parent_theme_file_path( '/custom-option.php' ); wp_add_inline_style( 'automobile-detailing-shop-style',$automobile_detailing_shop_theme_css ); // fontawesome wp_enqueue_style( 'fontawesome-style', get_template_directory_uri() .'/assets/css/fontawesome/css/all.css' ); wp_enqueue_script('automobile-detailing-shop-theme-js', get_template_directory_uri() . '/assets/js/theme-script.js', array('jquery'), '', true ); wp_enqueue_script('owl.carousel-js', get_template_directory_uri() . '/assets/js/owl.carousel.js', array('jquery'), '', true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'automobile_detailing_shop_scripts' ); /** * Enqueue Preloader. */ function automobile_detailing_shop_preloader() { $automobile_detailing_shop_theme_color_css = ''; $automobile_detailing_shop_preloader_bg_color = get_theme_mod('automobile_detailing_shop_preloader_bg_color'); $automobile_detailing_shop_preloader_dot_1_color = get_theme_mod('automobile_detailing_shop_preloader_dot_1_color'); $automobile_detailing_shop_preloader_dot_2_color = get_theme_mod('automobile_detailing_shop_preloader_dot_2_color'); $automobile_detailing_shop_logo_max_height = get_theme_mod('automobile_detailing_shop_logo_max_height'); if(get_theme_mod('automobile_detailing_shop_logo_max_height') == '') { $automobile_detailing_shop_logo_max_height = '200'; } if(get_theme_mod('automobile_detailing_shop_preloader_bg_color') == '') { $automobile_detailing_shop_preloader_bg_color = '#315BE8'; } if(get_theme_mod('automobile_detailing_shop_preloader_dot_1_color') == '') { $automobile_detailing_shop_preloader_dot_1_color = '#ffffff'; } if(get_theme_mod('automobile_detailing_shop_preloader_dot_2_color') == '') { $automobile_detailing_shop_preloader_dot_2_color = '#222222'; } $automobile_detailing_shop_theme_color_css = ' .custom-logo-link img{ max-height: '.esc_attr($automobile_detailing_shop_logo_max_height).'px; } .loading{ background-color: '.esc_attr($automobile_detailing_shop_preloader_bg_color).'; } @keyframes loading { 0%, 100% { transform: translatey(-2.5rem); background-color: '.esc_attr($automobile_detailing_shop_preloader_dot_1_color).'; } 50% { transform: translatey(2.5rem); background-color: '.esc_attr($automobile_detailing_shop_preloader_dot_2_color).'; } } '; wp_add_inline_style( 'automobile-detailing-shop-style',$automobile_detailing_shop_theme_color_css ); } add_action( 'wp_enqueue_scripts', 'automobile_detailing_shop_preloader' ); function automobile_detailing_shop_sanitize_select( $input, $setting ){ $input = sanitize_key($input); $choices = $setting->manager->get_control( $setting->id )->choices; return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); } function automobile_detailing_shop_sanitize_checkbox( $input ) { // Boolean check return ( ( isset( $input ) && true == $input ) ? true : false ); } /*radio button sanitization*/ function automobile_detailing_shop_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 automobile_detailing_shop_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 automobile_detailing_shop_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 ); } // Change number or products per row to 3 add_filter('loop_shop_columns', 'automobile_detailing_shop_loop_columns'); if (!function_exists('automobile_detailing_shop_loop_columns')) { function automobile_detailing_shop_loop_columns() { $columns = get_theme_mod( 'automobile_detailing_shop_products_per_row', 3 ); return $columns; // 3 products per row } } /*dropdown page sanitization*/ function automobile_detailing_shop_sanitize_dropdown_pages( $page_id, $setting ) { $page_id = absint( $page_id ); return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default ); } //Change number of products that are displayed per page (shop page) add_filter( 'loop_shop_per_page', 'automobile_detailing_shop_shop_per_page', 9 ); function automobile_detailing_shop_shop_per_page( $cols ) { $cols = get_theme_mod( 'automobile_detailing_shop_product_per_page', 9 ); return $cols; }