tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );
/* Set the image size by cropping the image */
add_image_size( 'post-thumbnail', 250, 250, true);
add_image_size( 'post-thumbnail-large', 750, 500, true ); /* blog thumbnail */
add_image_size( 'post-thumbnail-large-table', 600, 300, true ); /* blog thumbnail for table */
add_image_size( 'post-thumbnail-large-mobile', 400, 200, true ); /* blog thumbnail for mobile */
add_image_size( 'team_photo', 174, 174, true);/* Homepage - Team member photo */
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => esc_html__( 'Primary', 'cafe-express' ),
) );
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
/*
* Enable support for Post Formats.
* See https://developer.wordpress.org/themes/functionality/post-formats/
*/
add_theme_support( 'post-formats', array(
'aside',
'image',
'video',
'quote',
'link',
) );
// Set up the WordPress core custom background feature.
add_theme_support( 'custom-background', apply_filters( 'cafe_express_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => get_stylesheet_directory_uri() . '/images/bg.jpg',
) ) );
// link a custom stylesheet file to the TinyMCE visual editor
$font_url = str_replace( ',', '%2C', '//fonts.googleapis.com/css?family=Open+Sans' );
add_editor_style( array('style.css', 'css/editor-style.css', $font_url) );
}
endif;
add_action( 'after_setup_theme', 'cafe_express_setup' );
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function cafe_express_content_width() {
$GLOBALS['content_width'] = apply_filters( 'cafe_express_content_width', 640 );
}
add_action( 'after_setup_theme', 'cafe_express_content_width', 0 );
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function cafe_express_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'cafe-express' ),
'id' => 'sidebar-1',
'description' => '',
'before_widget' => '',
'before_title' => '
',
) );
}
add_action( 'widgets_init', 'cafe_express_widgets_init' );
/**
* Enqueue scripts and styles.
*/
function cafe_express_scripts() {
wp_enqueue_style( 'cafe-express-style', get_stylesheet_uri() );
wp_enqueue_style( 'bootstrap-grid', get_template_directory_uri() . '/css/bootstrap.min.css', array(), '3.3.5', 'all');
wp_enqueue_style( 'google-base-fonts', '//fonts.googleapis.com/css?family=Open+Sans:400,700,300', '', '', 'all' );
wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome.min.css', array(), '4.6.3', 'all');
wp_enqueue_style( 'owl-carousel', get_template_directory_uri() . '/css/owl.carousel.css', array(), '2.4', 'all');
wp_enqueue_style( 'animate-css', get_template_directory_uri() . '/css/animate.min.css', array(), '3.5.1', 'all');
wp_enqueue_style( 'odometer-css', get_template_directory_uri() . '/css/odometer.css', array(), '0.4.6', 'all');
wp_enqueue_script( 'cafe-express-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20160303', true );
wp_enqueue_script( 'cafe-express-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20160303', true );
wp_enqueue_script('jquery');
wp_enqueue_script( 'imagesLoaded', get_template_directory_uri() . '/js/imagesloaded.min.js', array('jquery'), '4.1.0', false);
wp_enqueue_script( 'jquery-parallax', get_template_directory_uri() . '/js/parallax.min.js', array('jquery'), '1.4.2', true);
wp_enqueue_script( 'jquery-owl-carousel', get_template_directory_uri() . '/js/owl.carousel.min.js', array('jquery'), '2.4', true);
wp_enqueue_script( 'jquery-inview', get_template_directory_uri() . '/js/jquery.inview.min.js', array('jquery'), '1.1.2', true);
wp_enqueue_script( 'odometer', get_template_directory_uri() . '/js/odometer.min.js', array(), '0.4.6', true);
wp_enqueue_script( 'jquery-equal-heights', get_template_directory_uri() . '/js/jquery.equalHeights.min.js', array('jquery'), '2.0', true);
wp_enqueue_script( 'headroom', get_template_directory_uri() . '/js/headroom.min.js', array(), '0.9.1', true);
wp_enqueue_script( 'cafe-express-scripts', get_template_directory_uri() . '/js/cafe-express.js', array('odometer','headroom','jquery','jquery-owl-carousel','jquery-equal-heights'), '', true);
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'cafe_express_scripts' );
/**
* Activate Google Fonts
*/
/**
* Include Google Fonts
*/
function cafe_express_google_fonts() {
// Add Google Font stylesheets
$array_font_sections = array(
'body_font',
'header_font',
);
$fonts = '';
$enqueueFonts = 0;
foreach($array_font_sections as $id => $section){
$family = get_theme_mod( $array_font_sections[$id] );
if($family != 'Open Sans'){
$fonts .= '|'.$family;
$enqueueFonts = 1;
}
}
if($enqueueFonts == 1){
$fonts = ltrim($fonts, '|');
$url = add_query_arg('family', urlencode($fonts), "//fonts.googleapis.com/css" );
wp_enqueue_style('cafe-express-google-fonts', $url);
} else {
// Return nothing if google fonts have not been selected from the customizer.
return;
}
}
add_action('wp_enqueue_scripts', 'cafe_express_google_fonts');
/**
* Implement the Custom Header feature.
*/
require get_template_directory() . '/inc/custom-header.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory() . '/inc/extras.php';
/**
* Cafe Express Custom Widgets
*/
require get_template_directory() . '/inc/widgets.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/customizer/settings.php';
require get_template_directory() . '/customizer/customizer_styles.php';
/**
* Enables user customization via WordPress plugin API.
*/
require get_template_directory() . '/inc/homepage/functions.php';
require get_template_directory() . '/inc/homepage/hooks.php';
/**
* Load Jetpack compatibility file.
*/
require get_template_directory() . '/inc/jetpack.php';