get( 'Version' ) );
if( ! defined( 'APPOINTMENT_MANAGEMENT_THEME_NAME' ) ) define( 'APPOINTMENT_MANAGEMENT_THEME_NAME', $appointment_management_theme_data->get( 'Name' ) );
if( ! defined( 'APPOINTMENT_MANAGEMENT_THEME_TEXTDOMAIN' ) ) define( 'APPOINTMENT_MANAGEMENT_THEME_TEXTDOMAIN', $appointment_management_theme_data->get( 'TextDomain' ) );
if ( ! function_exists( 'appointment_management_setup' ) ) :
function appointment_management_setup() {
load_theme_textdomain( 'appointment-management', get_template_directory() . '/languages' );
add_theme_support( 'woocommerce' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
register_nav_menus(
array(
'primary' => esc_html__( 'Primary', 'appointment-management' ),
'social' => esc_html__( 'Social', 'appointment-management' ),
)
);
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
'style',
'script',
'woocommerce',
)
);
add_theme_support( 'post-formats', array(
'image',
'video',
'gallery',
'audio',
) );
add_theme_support(
'custom-background',
apply_filters(
'appointment_management_custom_background_args',
array(
'default-color' => 'ffffff',
'default-image' => '',
)
)
);
add_theme_support( 'customize-selective-refresh-widgets' );
add_theme_support(
'custom-logo',
array(
'height' => 250,
'width' => 250,
'flex-width' => true,
'flex-height' => true,
)
);
add_theme_support( 'align-wide' );
add_theme_support( 'responsive-embeds' );
}
endif;
add_action( 'after_setup_theme', 'appointment_management_setup' );
function appointment_management_content_width() {
$GLOBALS['content_width'] = apply_filters( 'appointment_management_content_width', 640 );
}
add_action( 'after_setup_theme', 'appointment_management_content_width', 0 );
function appointment_management_widgets_init() {
register_sidebar(
array(
'name' => esc_html__( 'Sidebar', 'appointment-management' ),
'id' => 'sidebar-1',
'description' => esc_html__( 'Add widgets here.', 'appointment-management' ),
'before_widget' => '',
'before_title' => '
',
)
);
// Regsiter 4 footer widgets.
$appointment_management_footer_widget_column = get_theme_mod('appointment_management_footer_widget_column','4');
for ($appointment_management_i=1; $appointment_management_i<=$appointment_management_footer_widget_column; $appointment_management_i++) {
register_sidebar( array(
'name' => __( 'Footer ', 'appointment-management' ) . $appointment_management_i,
'id' => 'appointment-management-footer-widget-' . $appointment_management_i,
'description' => __( 'The Footer Widget Area', 'appointment-management' ) . $appointment_management_i,
'before_widget' => '',
'before_title' => '',
) );
}
}
add_action( 'widgets_init', 'appointment_management_widgets_init' );
/**
* Enqueue scripts and styles.
*/
function appointment_management_scripts() {
// Append .min if SCRIPT_DEBUG is false.
$min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
// Slick style.
wp_enqueue_style( 'slick-style', get_template_directory_uri() . '/resource/css/slick' . $min . '.css', array(), '1.8.1' );
// Fontawesome style.
wp_enqueue_style( 'font-awesome-css', esc_url(get_template_directory_uri())."/resource/css/fontawesome-all.css" );
// Main style.
wp_enqueue_style( 'appointment-management-style', get_template_directory_uri() . '/style.css', array(), APPOINTMENT_MANAGEMENT_VERSION );
// RTL style.
wp_style_add_data('appointment-management-style', 'rtl', 'replace');
// Animate CSS
wp_enqueue_style( 'animate-style', get_template_directory_uri() . '/resource/css/animate.css' );
// Navigation script.
wp_enqueue_script( 'appointment-management-navigation-script', get_template_directory_uri() . '/resource/js/navigation.js', array(), APPOINTMENT_MANAGEMENT_VERSION, true );
// Slick script.
wp_enqueue_script( 'slick-script', get_template_directory_uri() . '/resource/js/slick' . $min . '.js', array( 'jquery' ), '1.8.1', true );
// Custom script.
wp_enqueue_script( 'appointment-management-custom-script', get_template_directory_uri() . '/resource/js/custom.js', array( 'jquery' ), APPOINTMENT_MANAGEMENT_VERSION, true );
// Wow script.
wp_enqueue_script( 'wow-jquery', get_template_directory_uri() . '/resource/js/wow.js', array('jquery'),'' ,true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
// Include the file.
require_once get_theme_file_path( 'theme-library/function-files/wptt-webfont-loader.php' );
// Load the webfont.
wp_enqueue_style(
'Open Sans',
Appointment_Management_wptt_get_webfont_url( 'https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap' ),
array(),
'1.0'
);
}
add_action( 'wp_enqueue_scripts', 'appointment_management_scripts' );
//Change number of products per page
add_filter( 'loop_shop_per_page', 'appointment_management_products_per_page' );
function appointment_management_products_per_page( $cols ) {
return get_theme_mod( 'appointment_management_products_per_page',9);
}
// Change number or products per row
add_filter('loop_shop_columns', 'appointment_management_loop_columns');
if (!function_exists('appointment_management_loop_columns')) {
function appointment_management_loop_columns() {
return get_theme_mod( 'appointment_management_products_per_row', 3 );
}
}
/**
* Include wptt webfont loader.
*/
require_once get_theme_file_path( 'theme-library/function-files/wptt-webfont-loader.php' );
/**
* Implement the Custom Header feature.
*/
require get_template_directory() . '/theme-library/custom-header.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/theme-library/function-files/template-tags.php';
/**
* Functions which enhance the theme by hooking into WordPress.
*/
require get_template_directory() . '/theme-library/function-files/template-functions.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/theme-library/customizer.php';
/**
* Google Fonts
*/
require get_template_directory() . '/theme-library/function-files/google-fonts.php';
/**
* Dynamic CSS
*/
require get_template_directory() . '/theme-library/dynamic-css.php';
/**
* Breadcrumb
*/
require get_template_directory() . '/theme-library/function-files/class-breadcrumb-trail.php';
/**
* Customizer Settings Functions
*/
require get_template_directory() . '/theme-library/function-files/customizer-settings-functions.php';
/**
* Getting Started
*/
require get_template_directory() . '/theme-library/getting-started/getting-started.php';
/**
* Load TGM.
*/
require get_template_directory() . '/resource/tgm/tgm.php';
/*
* This theme styles the visual editor to resemble the theme style,
* specifically font, colors, icons, and column width.
*/
add_editor_style( '/resource/css/editor-style.css' );
/**
* Demo Import
*/
add_action( 'init', 'appointment_management_load_theme_wizard' );
function appointment_management_load_theme_wizard() {
require get_parent_theme_file_path( '/theme-wizard/config.php' );
}
// Enqueue Customizer live preview script
function appointment_management_customizer_live_preview() {
wp_enqueue_script(
'appointment-management-customizer',
get_template_directory_uri() . '/js/customizer.js',
array('jquery', 'customize-preview'),
'',
true
);
}
add_action('customize_preview_init', 'appointment_management_customizer_live_preview');
// Featured Image Dimension
function appointment_management_blog_post_featured_image_dimension(){
if(get_theme_mod('appointment_management_blog_post_featured_image_dimension') == 'custom' ) {
return true;
}
return false;
}