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' => '',
'before_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;
}