get( 'Version' ) );
if( ! defined( 'BIKE_WORKSHOP_THEME_NAME' ) ) define( 'BIKE_WORKSHOP_THEME_NAME', $bike_workshop_theme_data->get( 'Name' ) );
if ( ! function_exists( 'bike_workshop_setup' ) ) :
function bike_workshop_setup() {
load_theme_textdomain( 'bike-workshop', 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', 'bike-workshop' ),
)
);
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(
'bike_workshop_custom_background_args',
array(
'default-color' => '101010',
'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' );
/*
* 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' );
}
endif;
add_action( 'after_setup_theme', 'bike_workshop_setup' );
function bike_workshop_content_width() {
$GLOBALS['content_width'] = apply_filters( 'bike_workshop_content_width', 640 );
}
add_action( 'after_setup_theme', 'bike_workshop_content_width', 0 );
function bike_workshop_widgets_init() {
register_sidebar(
array(
'name' => esc_html__( 'Sidebar', 'bike-workshop' ),
'id' => 'sidebar-1',
'description' => esc_html__( 'Add widgets here.', 'bike-workshop' ),
'before_widget' => '',
'before_title' => '
',
)
);
// Regsiter 4 footer widgets.
$bike_workshop_footer_widget_column = get_theme_mod('bike_workshop_footer_widget_column','4');
for ($bike_workshop_i=1; $bike_workshop_i<=$bike_workshop_footer_widget_column; $bike_workshop_i++) {
register_sidebar( array(
'name' => __( 'Footer ', 'bike-workshop' ) . $bike_workshop_i,
'id' => 'bike-workshop-footer-widget-' . $bike_workshop_i,
'description' => __( 'The Footer Widget Area', 'bike-workshop' ) . $bike_workshop_i,
'before_widget' => '',
'before_title' => '',
) );
}
register_sidebar(
array(
'name' => esc_html__( 'Header Sidebar', 'bike-workshop' ),
'id' => 'sidebar-2',
'description' => esc_html__( 'Add widgets here.', 'bike-workshop' ),
'before_widget' => '',
'before_title' => '',
)
);
}
add_action( 'widgets_init', 'bike_workshop_widgets_init' );
//Change number of products per page
add_filter( 'loop_shop_per_page', 'bike_workshop_products_per_page' );
function bike_workshop_products_per_page( $cols ) {
return get_theme_mod( 'bike_workshop_products_per_page',9);
}
// Change number or products per row
add_filter('loop_shop_columns', 'bike_workshop_loop_columns');
if (!function_exists('bike_workshop_loop_columns')) {
function bike_workshop_loop_columns() {
return get_theme_mod( 'bike_workshop_products_per_row', 3 );
}
}
/**
* Enqueue scripts and styles.
*/
function bike_workshop_scripts() {
// Append .min if SCRIPT_DEBUG is false.
$min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
// Slick style.
wp_enqueue_style( 'bike-workshop-slick-style', get_template_directory_uri() . '/resource/css/slick' . $min . '.css', array(), '1.8.1' );
// Fontawesome style.
wp_enqueue_style( 'bike-workshop-font-awesome-css', esc_url(get_template_directory_uri())."/resource/css/fontawesome-all.css" );
// Main style.
wp_enqueue_style( 'bike-workshop-style', get_template_directory_uri() . '/style.css', array(), BIKE_WORKSHOP_VERSION );
// RTL style.
wp_style_add_data('bike-workshop-style', 'rtl', 'replace');
// Animate CSS
wp_enqueue_style( 'bike-workshop-animate-style', get_template_directory_uri() . '/resource/css/animate.css' );
// Navigation script.
wp_enqueue_script( 'bike-workshop-navigation-script', get_template_directory_uri() . '/resource/js/navigation.js', array(), BIKE_WORKSHOP_VERSION, true );
// Slick script.
wp_enqueue_script( 'bike-workshop-slick-script', get_template_directory_uri() . '/resource/js/slick' . $min . '.js', array( 'jquery' ), '1.8.1', true );
// Custom script.
wp_enqueue_script( 'bike-workshop-custom-script', get_template_directory_uri() . '/resource/js/custom.js', array( 'jquery' ), BIKE_WORKSHOP_VERSION, true );
// Wow script.
wp_enqueue_script( 'bike-workshop-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(
'Bebas Neue',
wptt_get_webfont_url( 'https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap' ),
array(),
'1.0'
);
// Load the webfont.
wp_enqueue_style(
'Noto Sans Display',
wptt_get_webfont_url( 'https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&display=swap' ),
array(),
'1.0'
);
}
add_action( 'wp_enqueue_scripts', 'bike_workshop_scripts' );
/**
* 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';
/**
* Breadcrumb
*/
require get_template_directory() . '/theme-library/function-files/class-breadcrumb-trail.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';
/**
* 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';
function bike_workshop_links_setup() {
if ( ! defined( 'BIKE_WORKSHOP_PREMIUM_PAGE' ) ) {
define('BIKE_WORKSHOP_PREMIUM_PAGE',__('https://asterthemes.com/products/bike-workshop-wordpress-theme','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_THEME_PAGE' ) ) {
define('BIKE_WORKSHOP_THEME_PAGE',__('https://asterthemes.com/products/bike-workshop','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_SUPPORT' ) ) {
define('BIKE_WORKSHOP_SUPPORT',__('https://wordpress.org/support/theme/bike-workshop/','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_REVIEW' ) ) {
define('BIKE_WORKSHOP_REVIEW',__('https://wordpress.org/support/theme/bike-workshop/reviews/','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_PRO_DEMO' ) ) {
define('BIKE_WORKSHOP_PRO_DEMO',__('https://demo.asterthemes.com/bike-workshop/','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_THEME_DOCUMENTATION' ) ) {
define('BIKE_WORKSHOP_THEME_DOCUMENTATION',__('https://demo.asterthemes.com/docs/bike-workshop-free/','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_PREMIUM_DOCUMENTATION' ) ) {
define('BIKE_WORKSHOP_PREMIUM_DOCUMENTATION',__('https://demo.asterthemes.com/docs/bike-workshop-pro/','bike-workshop'));
}
if ( ! defined( 'BIKE_WORKSHOP_BUNDLE_PAGE' ) ) {
define('BIKE_WORKSHOP_BUNDLE_PAGE',__('https://asterthemes.com/products/wp-theme-bundle','bike-workshop'));
}
}
add_action('after_setup_theme', 'bike_workshop_links_setup');
/**
* Theme Wizard
*/
add_action( 'init', 'bike_workshop_load_theme_wizard' );
function bike_workshop_load_theme_wizard() {
require get_parent_theme_file_path( '/theme-wizard/config.php' );
}
// Enqueue Customizer live preview script
function bike_workshop_customizer_live_preview() {
wp_enqueue_script(
'bike-workshop-customizer',
get_template_directory_uri() . '/resource/js/customizer.js',
array('jquery', 'customize-preview'),
'',
true
);
}
add_action('customize_preview_init', 'bike_workshop_customizer_live_preview');
// Featured Image Dimension
function bike_workshop_blog_post_featured_image_dimension(){
if(get_theme_mod('bike_workshop_blog_post_featured_image_dimension') == 'custom' ) {
return true;
}
return false;
}
// Reset all theme settings
function bike_workshop_reset_demo_import_settings() {
if (current_user_can('manage_options')) {
// List only demo import-related settings to reset
remove_theme_mod('bike_workshop_enable_topbar');
remove_theme_mod('bike_workshop_welcome_topbar_text');
remove_theme_mod('bike_workshop_wishlist_button_link');
remove_theme_mod('bike_workshop_account_button_link');
remove_theme_mod('bike_workshop_enable_banner_section');
remove_theme_mod('bike_workshop_banner_heading');
remove_theme_mod('bike_workshop_banner_button_label_');
remove_theme_mod('bike_workshop_banner_button_link_');
remove_theme_mod('bike_workshop_banner_slider_category');
remove_theme_mod('bike_workshop_heading_services_section');
remove_theme_mod('bike_workshop_services_number');
remove_theme_mod('bike_workshop_enable_services_section');
remove_theme_mod('bike_workshop_services_text');
wp_send_json_success(array('message' => __('Demo import settings have been reset.', 'bike-workshop')));
} else {
wp_send_json_error(array('message' => __('Permission denied.', 'bike-workshop')));
}
}
add_action('wp_ajax_bike_workshop_reset_demo_import_settings', 'bike_workshop_reset_demo_import_settings');