__( 'Primary Menu', 'savile-row' ), 'secondary' => __( 'Secondary Menu', 'savile-row'), 'footer' => __( 'Footer Menu', 'savile-row'), ) ); /** * Add support for post thumbnails */ add_theme_support('post-thumbnails'); add_image_size( 'onefifty', 150, 150, false); add_image_size( 'one-three', 100, 300, true); add_image_size( 'savile-row-featured', 1140, 380, true ); add_image_size( 'savile-row-recent', 700, 400, true ); /** * Add support for the Aside Post Formats */ add_theme_support( 'post-formats', array( 'aside', ) ); // Display Title in theme add_theme_support( 'title-tag' ); // 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; // savilerow_setup add_action( 'after_setup_theme', 'savilerow_setup' ); /** * Setup the WordPress core custom background feature. * * Use add_theme_support to register support for WordPress 3.4+ * as well as provide backward compatibility for previous versions. * Use feature detection of wp_get_theme() which was introduced * in WordPress 3.4. * * Hooks into the after_setup_theme action. * * @since savilerow 0.1 */ function savilerow_register_custom_background() { $args = array( 'default-color' => 'EEE', ); $args = apply_filters( 'savilerow_custom_background_args', $args ); if ( function_exists( 'wp_get_theme' ) ) { add_theme_support( 'custom-background', $args ); } else { define( 'BACKGROUND_COLOR', $args['default-color'] ); define( 'BACKGROUND_IMAGE', $args['default-image'] ); add_theme_support( 'custom-background', $args ); } } add_action( 'after_setup_theme', 'savilerow_register_custom_background' ); /** * Register widgetized area and update sidebar with default widgets * * @since savilerow 0.1 */ function savilerow_widgets_init() { register_sidebar( array( 'name' => __( 'Primary Sidebar', 'savile-row' ), 'id' => 'sidebar-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'WooCommerce Sidebar', 'savile-row' ), 'id' => 'woocommerce', 'description' => __('Will be shown on Woocommerce pages', 'savile-row'), 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar(array( 'name' => __( 'Footer', 'savile-row' ), 'id' => 'footer', 'description' => __('Widget area for column one in the footer', 'savile-row'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' )); } add_action( 'widgets_init', 'savilerow_widgets_init' ); /** * Enqueue scripts and styles */ function savilerow_scripts() { wp_enqueue_style( 'google-base-fonts', '//fonts.googleapis.com/css?family=Oswald:400,300|Oxygen', '', '', 'all' ); wp_enqueue_style( 'style', get_stylesheet_uri(), '', false, 'all' ); wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', '', '3.3.5'); wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome.min.css', '', '4.3.0'); wp_enqueue_style('animate', get_template_directory_uri().'/css/animate.min.css', '', '1.0'); wp_enqueue_script( 'headroom', get_template_directory_uri() . '/js/headroom.min.js', '', '0.7.0', true); wp_enqueue_script( 'jquery-small-menu', get_template_directory_uri() . '/js/small-menu.js', array( 'jquery' ), '1.0', true ); wp_enqueue_script( 'jquery-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '1.0', false ); wp_enqueue_script( 'jquery-customSelect', get_template_directory_uri() . '/js/jquery.customSelect.min.js', array( 'jquery' ), '0.5.1', true); wp_enqueue_script( 'jquery-inview', get_template_directory_uri() . '/js/Inview.js', array('jquery'), '1.0', true); wp_enqueue_script( 'jquery-animate-js', get_template_directory_uri() . '/js/animate.js', array('jquery-inview'), '1.0', true); if( is_woocommerce_activated() ){ if(! is_woocommerce() ){ wp_enqueue_style('flexslider', get_template_directory_uri().'/css/flexslider.css', '', '2.0'); wp_enqueue_script('jquery-flexslider', get_template_directory_uri().'/js/jquery.flexslider-min.js', array('jquery'), '2.1', true); wp_enqueue_script('jquery-flexslider-init', get_template_directory_uri().'/js/flexslider-init.js', array('jquery-flexslider'), '1.0', true); } }else{ wp_enqueue_style('flexslider', get_template_directory_uri().'/css/flexslider.css', '', '2.0'); wp_enqueue_script('jquery-flexslider', get_template_directory_uri().'/js/jquery.flexslider-min.js', array('jquery'), '2.1', true); wp_enqueue_script('jquery-flexslider-init', get_template_directory_uri().'/js/flexslider-init.js', array('jquery-flexslider'), '1.0', true); } wp_enqueue_script( 'savilerow-script', get_template_directory_uri() . '/js/savilerow.js', array( 'jquery' ), '1.0', true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } if ( is_singular() && wp_attachment_is_image() ) { wp_enqueue_script( 'keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '0.2' ); } if( is_woocommerce_activated() ){ if( is_product_category() ){ wp_enqueue_script( 'jquery-matchHeight', get_template_directory_uri() . '/js/jquery.matchHeight.min.js', array('jquery'), '0.7.2', true); wp_enqueue_script( 'savilerow-woo-script', get_template_directory_uri() . '/js/savilerow.woo.script.js', array( 'jquery', 'jquery-matchHeight' ), '1.0', true ); } } } add_action( 'wp_enqueue_scripts', 'savilerow_scripts' ); // Masonry include get_template_directory() . '/inc/masonry.php'; /** * Implement excerpt for homepage slider */ function get_slider_excerpt(){ $excerpt = get_the_content(); $excerpt = preg_replace(" (\[.*?\])",'',$excerpt); $excerpt = strip_shortcodes($excerpt); $excerpt = strip_tags($excerpt); $excerpt = substr($excerpt, 0, 150); $excerpt = substr($excerpt, 0, strripos($excerpt, " ")); $excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt)); return $excerpt; } function savilerow_excerpt_more( $more ) { return ' '; } add_filter( 'excerpt_more', 'savilerow_excerpt_more' ); // Theme Options include( 'functions/customizer_controller.php' ); include( 'functions/customizer_settings.php' ); include( 'functions/customizer_styles.php' ); /** * Implement excerpt for homepage thumbnails */ function content( $limit ) { $content = explode( ' ', get_the_content(), $limit ); if ( count($content)>=$limit ) { array_pop($content); $content = implode( " ",$content ).'...'; } else { $content = implode( " ",$content ); } $content = preg_replace( '/\[.+\]/','', $content ); $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content ); return $content; } /** * Breadcrumbs * * This functions displays page breadcrumbs */ function savilerow_breadcrumbs() { /* === OPTIONS === */ $text['home'] = __('Home','savile-row'); // text for the 'Home' link $text['category'] = __('Archive by Category "%s"','savile-row'); // text for a category page $text['search'] = __('Search Results for "%s" Query','savile-row'); // text for a search results page $text['tag'] = __('Posts Tagged "%s"','savile-row'); // text for a tag page $text['author'] = __('Articles Posted by %s','savile-row'); // text for an author page $text['404'] = __('Error 404','savile-row'); // text for the 404 page $show_current = 1; // 1 - show current post/page/category title in breadcrumbs, 0 - don't show $show_on_home = 0; // 1 - show breadcrumbs on the homepage, 0 - don't show $show_home_link = 1; // 1 - show the 'Home' link, 0 - don't show $show_title = 1; // 1 - show the title for the links, 0 - don't show $delimiter = ' / '; // delimiter between crumbs $before = ''; // tag before the current crumb $after = ''; // tag after the current crumb /* === END OF OPTIONS === */ global $post; $home_link = home_url('/'); $link_before = ''; $link_after = ''; $link_attr = ' rel="v:url" property="v:title"'; $link = $link_before . '%2$s' . $link_after; $parent_id = $parent_id_2 = $post->post_parent; $frontpage_id = get_option('page_on_front'); if (is_home() || is_front_page()) { if ($show_on_home == 1) echo ''; } else { echo ''; } } // end savilerow_breadcrumbs() /** * Custom "more" link format */ function modify_read_more_link() { return ''; } add_filter( 'the_content_more_link', 'modify_read_more_link' ); require get_template_directory() . '/inc/admin/custom-header.php'; require get_template_directory() . '/inc/extras.php'; if ( is_admin() ) { require get_template_directory() . '/inc/admin/welcome-screen/welcome-screen.php'; } function savile_row_welcome_redirect(){ global $pagenow; if ( is_admin() && 'themes.php' == $pagenow && isset( $_GET['activated'] ) ) { wp_redirect( admin_url( 'themes.php?page=savilerow-welcome' ) ); } } add_action('after_setup_theme', 'savile_row_welcome_redirect'); /** * /////////// WooCommerce ///////////////////// */ /* Query WooCommerce activation */ if ( ! function_exists( 'is_woocommerce_activated' ) ) { function is_woocommerce_activated() { return class_exists( 'woocommerce' ) ? true : false; } } /* Get woocommerce custom theme code */ if ( is_woocommerce_activated() ) { require get_template_directory() . '/inc/woocommerce/hooks.php'; require get_template_directory() . '/inc/woocommerce/functions.php'; function savilerow_header_add_to_cart_fragment( $fragments ) { global $woocommerce; ob_start(); ?> cart->cart_contents_count, 'savile-row'), $woocommerce->cart->cart_contents_count);?> - cart->get_cart_total(); ?> 'WooCommerce', 'slug' => 'woocommerce', 'required' => false, ), array( 'name' => 'Homepage Control', 'slug' => 'homepage-control', 'required' => false, ) ); $plugins = apply_filters( 'savilerow_tgmpa_plugins', $plugins ); tgmpa( $plugins ); } /** * Define default WooCommerce image sizes */ function savilerow_woocommerce_image_dimensions() { global $pagenow; if ( ! isset( $_GET['activated'] ) || $pagenow != 'themes.php' ) { return; } $catalog = array( 'width' => '350', // px 'height' => '350', // px 'crop' => 1 // true ); // Image sizes update_option( 'shop_catalog_image_size', $catalog ); // Product category thumbs } add_action( 'after_switch_theme', 'savilerow_woocommerce_image_dimensions', 1 );