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';
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_CONTACT_SUPPORT' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_CONTACT_SUPPORT',__('https://wordpress.org/support/theme/automobile-detailing-shop/','automobile-detailing-shop'));
}
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_REVIEW' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_REVIEW',__('https://wordpress.org/support/theme/automobile-detailing-shop/reviews/','automobile-detailing-shop'));
}
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_LIVE_DEMO' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_LIVE_DEMO',__('https://demo.themagnifico.net/automobile-detailing-shop-pro/','automobile-detailing-shop'));
}
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_GET_PREMIUM_PRO' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_GET_PREMIUM_PRO',__('https://www.themagnifico.net/products/auto-detailing-wordpress-theme','automobile-detailing-shop'));
}
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_PRO_DOC' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_PRO_DOC',__('https://demo.themagnifico.net/eard/wathiqa/automobile-detailing-shop-pro-doc/','automobile-detailing-shop'));
}
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_FREE_DOC' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_FREE_DOC',__('https://demo.themagnifico.net/eard/wathiqa/automobile-detailing-shop-free-doc/','automobile-detailing-shop'));
}
if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_BUNDLE_LINK' ) ) {
define('AUTOMOBILE_DETAILING_SHOP_BUNDLE_LINK',__('https://www.themagnifico.net/products/wordpress-theme-bundle','automobile-detailing-shop'));
}
}
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;
}
/**
* Get CSS
*/
function automobile_detailing_shop_getpage_css($hook) {
wp_register_script( 'admin-notice-script', get_template_directory_uri() . '/inc/admin/js/admin-notice-script.js', array( 'jquery' ) );
wp_localize_script('admin-notice-script','automobile_detailing_shop',
array('admin_ajax' => admin_url('admin-ajax.php'),'wpnonce' => wp_create_nonce('automobile_detailing_shop_dismissed_notice_nonce')
)
);
wp_enqueue_script('admin-notice-script');
wp_localize_script( 'admin-notice-script', 'automobile_detailing_shop_ajax_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )
);
if ( 'appearance_page_automobile_detailing_shop-info' != $hook ) {
return;
}
}
add_action( 'admin_enqueue_scripts', 'automobile_detailing_shop_getpage_css' );
//Admin Notice For Getstart
function automobile_detailing_shop_ajax_notice_handler() {
if ( isset( $_POST['type'] ) ) {
$type = sanitize_text_field( wp_unslash( $_POST['type'] ) );
update_option( 'dismissed-' . $type, TRUE );
}
}
function automobile_detailing_shop_deprecated_hook_admin_notice() {
// Check if the notice has been dismissed by the user
$dismissed = get_user_meta(get_current_user_id(), 'automobile_detailing_shop_dismissable_notice', true);
// Exclude the notice from being shown on the "Theme Importer" page
$current_screen = get_current_screen();
if ($current_screen && $current_screen->id === 'appearance_page_theme-importer') {
return; // Don't show the notice on this page
}
if (!$dismissed) {
?>
'000000', // Example: change header text color
'background_color' => 'ffffff', // Example: change background color
'custom_logo' => 123, // Example: set a custom logo by attachment ID
'footer_text' => 'Custom Footer Text', // Example: custom footer text
);
// Call the function to import theme mods
if (demo_theme_importer($theme_mods_data)) {
// After importing theme mods, create the menu
create_demo_menu();
wp_send_json_success(array(
'msg' => 'Theme mods imported successfully.',
'redirect' => home_url()
));
} else {
wp_send_json_error('Failed to import theme mods.');
}
wp_die();
}
// Function to set theme mods
function demo_theme_importer($import_data) {
if (is_array($import_data)) {
foreach ($import_data as $mod_name => $mod_value) {
set_theme_mod($mod_name, $mod_value);
}
return true;
} else {
return false;
}
}
// Function to create demo menu
function create_demo_menu() {
// Page import process
$pages_to_create = array(
array(
'title' => 'Home',
'slug' => 'home',
'template' => 'page-template/home-template.php',
),
array(
'title' => 'About',
'slug' => 'about',
'template' => '',
),
array(
'title' => 'Services',
'slug' => 'services',
'template' => '',
),
array(
'title' => 'Blog',
'slug' => 'blog',
'template' => '',
),
array(
'title' => 'Contact',
'slug' => 'contact',
'template' => '',
),
);
// Loop through each page data to create pages
foreach ($pages_to_create as $page_data) {
$page_check = get_page_by_title($page_data['title']);
// Check if the page doesn't exist already
if (!$page_check) {
$page = array(
'post_type' => 'page',
'post_title' => $page_data['title'],
'post_status' => 'publish',
'post_author' => 1,
'post_name' => $page_data['slug'],
);
// Insert the page and get the inserted page ID
$page_id = wp_insert_post($page);
// Set the page template
if ($page_id && !empty($page_data['template'])) {
add_post_meta($page_id, '_wp_page_template', $page_data['template']);
}
}
}
// Set 'Home' as the front page
$home_page = get_page_by_title('Home');
if ($home_page) {
update_option('page_on_front', $home_page->ID);
update_option('show_on_front', 'page');
}
// Set 'Blog' as the posts page
$blog_page = get_page_by_title('Blog');
if ($blog_page) {
update_option('page_for_posts', $blog_page->ID);
}
// ------- Create Primary Menu --------
$menuname = 'Primary Menu';
$bpmenulocation = 'primary';
$menu_exists = wp_get_nav_menu_object($menuname);
if (!$menu_exists) {
$menu_id = wp_create_nav_menu($menuname);
wp_update_nav_menu_item($menu_id, 0, array(
'menu-item-title' => __('Home', 'automobile-detailing-shop'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url('/'),
'menu-item-status' => 'publish'
));
wp_update_nav_menu_item($menu_id, 0, array(
'menu-item-title' => __('About', 'automobile-detailing-shop'),
'menu-item-classes' => 'about',
'menu-item-url' => home_url('/about'),
'menu-item-status' => 'publish'
));
wp_update_nav_menu_item($menu_id, 0, array(
'menu-item-title' => __('Services ', 'automobile-detailing-shop'),
'menu-item-classes' => 'services',
'menu-item-url' => home_url('/services'),
'menu-item-status' => 'publish'
));
wp_update_nav_menu_item($menu_id, 0, array(
'menu-item-title' => __('Blog', 'automobile-detailing-shop'),
'menu-item-classes' => 'blog',
'menu-item-url' => home_url('/blog'),
'menu-item-status' => 'publish'
));
wp_update_nav_menu_item($menu_id, 0, array(
'menu-item-title' => __('Contact', 'automobile-detailing-shop'),
'menu-item-classes' => 'contact',
'menu-item-url' => home_url('/contact'),
'menu-item-status' => 'publish'
));
// Assign the menu to the location
if (!has_nav_menu($bpmenulocation)) {
$locations = get_theme_mod('nav_menu_locations');
$locations[$bpmenulocation] = $menu_id;
set_theme_mod('nav_menu_locations', $locations);
}
}
//Top Header
set_theme_mod( 'automobile_detailing_shop_facebook_icon', 'fab fa-facebook-f' );
set_theme_mod( 'automobile_detailing_shop_facebook_url', 'www.facebook.com' );
set_theme_mod( 'automobile_detailing_shop_twitter_icon', 'fab fa-twitter' );
set_theme_mod( 'automobile_detailing_shop_twitter_url', 'www.twitter.com' );
set_theme_mod( 'automobile_detailing_shop_intagram_icon', 'fab fa-instagram' );
set_theme_mod( 'automobile_detailing_shop_intagram_url', 'www.instagram.com' );
set_theme_mod( 'automobile_detailing_shop_linkedin_icon', 'fab fa-linkedin-in' );
set_theme_mod( 'automobile_detailing_shop_linkedin_url', 'www.linkedin.com' );
set_theme_mod( 'automobile_detailing_shop_pintrest_icon', 'fab fa-pinterest-p' );
set_theme_mod( 'automobile_detailing_shop_pintrest_url', 'www.pinterest.com' );
set_theme_mod( 'automobile_detailing_shop_topbar_location', '92 Bowery St., New York, NY 10013' );
set_theme_mod( 'automobile_detailing_shop_topbar_email', 'car@example.com' );
set_theme_mod( 'automobile_detailing_shop_topbar_phone_number', '(00) 123 456 7890' );
set_theme_mod( 'automobile_detailing_shop_topbar_button_text_1', 'News & Media' );
set_theme_mod( 'automobile_detailing_shop_topbar_button_url_1', '#' );
set_theme_mod( 'automobile_detailing_shop_topbar_button_text_2', 'Register' );
set_theme_mod( 'automobile_detailing_shop_topbar_button_url_2', '#' );
set_theme_mod( 'automobile_detailing_shop_topbar_button_text_3', 'Support' );
set_theme_mod( 'automobile_detailing_shop_topbar_button_url_3', '#' );
set_theme_mod( 'automobile_detailing_shop_header_button_text', 'Request A Call' );
set_theme_mod( 'automobile_detailing_shop_header_button_url', '#' );
//Slider
set_theme_mod( 'automobile_detailing_shop_slider_section_setting', true );
set_theme_mod( 'automobile_detailing_shop_slider_short_heading', 'Welcome To Our Car' );
for($i=1;$i<=3;$i++){
$title = 'Mechanical & Car Services For Car';
$content = 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.';
// Create post object
$my_post = array(
'post_title' => wp_strip_all_tags( $title ),
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'page',
);
// Insert the post into the database
$post_id = wp_insert_post( $my_post );
if ($post_id) {
// Set the theme mod for the slider page
set_theme_mod('automobile_detailing_shop_top_slider_page' . $i, $post_id);
$image_url = get_template_directory_uri().'/assets/img/slider.png';
$image_id = media_sideload_image($image_url, $post_id, null, 'id');
if (!is_wp_error($image_id)) {
// Set the downloaded image as the post's featured image
set_post_thumbnail($post_id, $image_id);
}
}
}
set_theme_mod( 'automobile_detailing_shop_slider_video_button_url', 'https://www.youtube.com/embed/yAoLSRbwxL8' );
// Categories
set_theme_mod( 'automobile_detailing_shop_service_section_setting', true );
set_theme_mod( 'automobile_detailing_shop_service_sub_heading', 'More Experience' );
set_theme_mod( 'automobile_detailing_shop_service_heading', 'Make Your Car Cleaner Than Its Ever Been' );
set_theme_mod( 'automobile_detailing_shop_service_button_text', 'View All' );
set_theme_mod( 'automobile_detailing_shop_service_button_url', '#' );
set_theme_mod( 'automobile_detailing_shop_service_number', 3 );
set_theme_mod( 'automobile_detailing_shop_service_icon1', 'fas fa-car' );
set_theme_mod( 'automobile_detailing_shop_service_raised_amount1', '80' );
set_theme_mod( 'automobile_detailing_shop_service_icon2', 'fas fa-car' );
set_theme_mod( 'automobile_detailing_shop_service_raised_amount2', '90' );
set_theme_mod( 'automobile_detailing_shop_service_icon3', 'fas fa-headset' );
set_theme_mod( 'automobile_detailing_shop_service_raised_amount3', '70' );
set_theme_mod('automobile_detailing_shop_service_category' ,'service');
for($i=1;$i<=3;$i++){
$title = array('Car Repair', 'Car Washer','Support 24/7');
$content = 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.';
// Create post object
$my_post = array(
'post_title' => wp_strip_all_tags( $title[$i-1] ),
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'post',
);
// Insert the post into the database
$post_id = wp_insert_post( $my_post );
wp_set_object_terms($post_id,'service', 'category');
}
}
// Enqueue necessary scripts
add_action('admin_enqueue_scripts', 'demo_importer_enqueue_scripts');
function demo_importer_enqueue_scripts() {
wp_enqueue_script(
'demo-theme-importer',
get_template_directory_uri() . '/assets/js/theme-importer.js', // Path to your JS file
array('jquery'),
null,
true
);
wp_enqueue_style('demo-importer-style', get_template_directory_uri() . '/assets/css/importer.css', array(), '');
// Localize script to pass AJAX URL to JS
wp_localize_script(
'demo-theme-importer',
'demoImporter',
array(
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('theme_importer_nonce')
)
);
}
/**
* Theme Info.
*/
function automobile_detailing_shop_theme_info_load() {
require get_theme_file_path( '/inc/theme-installation/theme-installation.php' );
}
add_action( 'init', 'automobile_detailing_shop_theme_info_load' );