'Topbar', 'footer' => 'Footer', ) ); } add_action( 'after_setup_theme', 'alx_setup' ); /* Register sidebars /* ------------------------------------ */ function alx_sidebars() { register_sidebar(array( 'name' => 'Primary','id' => 'primary','description' => "Normal full width sidebar", 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); register_sidebar(array( 'name' => 'Footer 1','id' => 'footer-1', 'description' => "Widetized footer", 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); register_sidebar(array( 'name' => 'Footer 2','id' => 'footer-2', 'description' => "Widetized footer", 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); register_sidebar(array( 'name' => 'Footer 3','id' => 'footer-3', 'description' => "Widetized footer", 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); register_sidebar(array( 'name' => 'Footer 4','id' => 'footer-4', 'description' => "Widetized footer", 'before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } add_action( 'widgets_init', 'alx_sidebars' ); /* Enqueue javascript /* ------------------------------------ */ function alx_scripts() { wp_enqueue_script( 'flexslider', get_template_directory_uri() . '/js/jquery.flexslider.min.js', array( 'jquery' ),'', false ); wp_enqueue_script( 'jplayer', get_template_directory_uri() . '/js/jquery.jplayer.min.js', array( 'jquery' ),'', true ); wp_enqueue_script( 'scripts', get_template_directory_uri() . '/js/scripts.js', array( 'jquery' ),'', true ); if ( is_singular() ) { wp_enqueue_script( 'sharrre', get_template_directory_uri() . '/js/jquery.sharrre.min.js', array( 'jquery' ),'', true ); } if ( is_singular() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'alx_scripts' ); /* Enqueue css /* ------------------------------------ */ function alx_styles() { wp_enqueue_style( 'style', get_stylesheet_uri() ); if ( !ot_get_option('responsive') ) { wp_enqueue_style( 'responsive', get_template_directory_uri().'/responsive.css' ); } wp_enqueue_style( 'font-awesome', get_template_directory_uri().'/fonts/font-awesome.min.css' ); } add_action( 'wp_enqueue_scripts', 'alx_styles' ); /* ------------------------------------------------------------------------- * * Template functions /* ------------------------------------------------------------------------- */ /* Layout class /* ------------------------------------ */ function alx_layout_class() { // Default layout $layout = 'col-2cl'; $default = 'col-2cl'; // Check for page/post specific layout if ( is_page() || is_single() ) { // Reset post data wp_reset_postdata(); global $post; // Get meta $meta = get_post_meta($post->ID,'_layout',TRUE); // Get if set and not set to inherit if ( isset($meta) && !empty($meta) && $meta != 'inherit' ) { $layout = $meta; } // Else check for page-global / single-global elseif ( is_single() && ( ot_get_option('layout-single') !='inherit' ) ) $layout = ot_get_option('layout-single',''.$default.''); elseif ( is_page() && ( ot_get_option('layout-page') !='inherit' ) ) $layout = ot_get_option('layout-page',''.$default.''); // Else get global option else $layout = ot_get_option('layout-global',''.$default.''); } // Set layout based on page elseif ( is_home() && ( ot_get_option('layout-home') !='inherit' ) ) $layout = ot_get_option('layout-home',''.$default.''); elseif ( is_category() && ( ot_get_option('layout-archive-category') !='inherit' ) ) $layout = ot_get_option('layout-archive-category',''.$default.''); elseif ( is_archive() && ( ot_get_option('layout-archive') !='inherit' ) ) $layout = ot_get_option('layout-archive',''.$default.''); elseif ( is_search() && ( ot_get_option('layout-search') !='inherit' ) ) $layout = ot_get_option('layout-search',''.$default.''); elseif ( is_404() && ( ot_get_option('layout-404') !='inherit' ) ) $layout = ot_get_option('layout-404',''.$default.''); // Global option else $layout = ot_get_option('layout-global',''.$default.''); // Return layout return $layout; } /* Dynamic sidebar primary /* ------------------------------------ */ function alx_sidebar_primary() { // Default sidebar $sidebar = 'primary'; // Set sidebar based on page if ( is_home() && ot_get_option('s1-home') ) $sidebar = ot_get_option('s1-home'); if ( is_single() && ot_get_option('s1-single') ) $sidebar = ot_get_option('s1-single'); if ( is_archive() && ot_get_option('s1-archive') ) $sidebar = ot_get_option('s1-archive'); if ( is_category() && ot_get_option('s1-archive-category') ) $sidebar = ot_get_option('s1-archive-category'); if ( is_search() && ot_get_option('s1-search') ) $sidebar = ot_get_option('s1-search'); if ( is_404() && ot_get_option('s1-404') ) $sidebar = ot_get_option('s1-404'); if ( is_page() && ot_get_option('s1-page') ) $sidebar = ot_get_option('s1-page'); // Check for page/post specific sidebar if ( is_page() || is_single() ) { // Reset post data wp_reset_postdata(); global $post; // Get meta $meta = get_post_meta($post->ID,'_sidebar_primary',TRUE); if ( $meta ) { $sidebar = $meta; } } // Return sidebar return $sidebar; } /* Social links /* ------------------------------------ */ function alx_social_links() { if ( !ot_get_option('social-links') =='' ) { $links = ot_get_option('social-links', array()); if ( !empty( $links ) ) { echo ''; } } } /* Site name/logo /* ------------------------------------ */ function alx_site_title() { // Text or image? if ( ot_get_option('custom-logo') ) { $logo = ''.get_bloginfo('name').''; } else { $logo = get_bloginfo('name'); } $link = ''.$logo.''; if ( is_front_page() || is_home() ) { $sitename = '

'.$link.'

'."\n"; } else { $sitename = '

'.$link.'

'."\n"; } return $sitename; } /* Page title /* ------------------------------------ */ function alx_page_title() { global $post; $heading = get_post_meta($post->ID,'_heading',TRUE); $subheading = get_post_meta($post->ID,'_subheading',TRUE); $title = $heading?$heading:the_title(); if($subheading) { $title = $title.' '.$subheading.''; } return $title; } /* Get images attached to post /* ------------------------------------ */ function alx_post_images( $args=array() ) { global $post; $defaults = array( 'numberposts' => -1, 'order' => 'ASC', 'orderby' => 'menu_order', 'post_mime_type' => 'image', 'post_parent' => $post->ID, 'post_type' => 'attachment', ); $args = wp_parse_args( $args, $defaults ); return get_posts( $args ); } /* ------------------------------------------------------------------------- * * Admin panel functions /* ------------------------------------------------------------------------- */ /* Custom sidebars /* ------------------------------------ */ function alx_custom_sidebars() { if ( !ot_get_option('sidebar-areas') =='' ) { $sidebars = ot_get_option('sidebar-areas', array()); if ( !empty( $sidebars ) ) { foreach( $sidebars as $sidebar ) { register_sidebar(array('name' => ''.$sidebar['title'].'','id' => ''.$sidebar['id'].'','before_widget' => '
','after_widget' => '
','before_title' => '

','after_title' => '

')); } } } } add_action( 'widgets_init', 'alx_custom_sidebars' ); /* Post formats script /* ------------------------------------ */ function alx_post_formats_script( $hook ) { // Only load on posts, pages if ( !in_array( $hook, array('post.php','post-new.php') ) ) return; wp_enqueue_script( 'post-formats', get_template_directory_uri() . '/functions/js/post-formats.js', array( 'jquery' ) ); } add_action( 'admin_enqueue_scripts', 'alx_post_formats_script' ); /* ------------------------------------------------------------------------- * * Filters /* ------------------------------------------------------------------------- */ /* Site title /* ------------------------------------ */ function alx_wp_title( $title ) { // Do not filter for RSS feed / if SEO plugin installed if ( is_feed() || class_exists('All_in_One_SEO_Pack') ) return $title; if ( is_front_page() ) { $title = bloginfo('name'); echo ' - '; bloginfo('description'); } if ( !is_front_page() ) { $title.= ''.' - '.''.get_bloginfo('name'); } return $title; } add_filter( 'wp_title', 'alx_wp_title' ); /* Custom rss feed /* ------------------------------------ */ function alx_feed_link( $output, $feed ) { // Do not redirect comments feed if ( strpos( $output, 'comments' ) ) return $output; // Return feed url return ot_get_option('rss-feed',$output); } add_filter( 'feed_link', 'alx_feed_link', 10, 2 ); /* Custom favicon /* ------------------------------------ */ function alx_favicon() { if ( ot_get_option('favicon') ) { echo ''."\n"; } } add_filter( 'wp_head', 'alx_favicon' ); /* Body class /* ------------------------------------ */ function alx_body_class( $classes ) { if ( has_nav_menu('topbar') ) { $classes[] = 'topbar-enabled'; } if ( ot_get_option('mobile-sidebar-hide') ) { $classes[] = 'mobile-sidebar-hide'; } if ( ot_get_option('light-header-text') ) { $classes[] = 'light-header-text'; } return $classes; } add_filter( 'body_class', 'alx_body_class' ); /* Excerpt ending /* ------------------------------------ */ function alx_excerpt_more( $more ) { return '...'; } add_filter( 'excerpt_more', 'alx_excerpt_more' ); /* Excerpt length /* ------------------------------------ */ function alx_excerpt_length( $length ) { return ot_get_option('excerpt-length',$length); } add_filter( 'excerpt_length', 'alx_excerpt_length', 999 ); /* Add wmode transparent to media embeds /* ------------------------------------ */ function alx_embed_wmode_transparent( $html, $url, $attr ) { if ( strpos( $html, "' . $html . ''; } add_filter( 'embed_oembed_html', 'alx_embed_html', 10, 3 ); add_filter( 'video_embed_html', 'alx_embed_html' ); // Jetpack /* Upscale cropped thumbnails /* ------------------------------------ */ function alx_thumbnail_upscale( $default, $orig_w, $orig_h, $new_w, $new_h, $crop ){ if ( !$crop ) return null; // let the wordpress default function handle this $aspect_ratio = $orig_w / $orig_h; $size_ratio = max($new_w / $orig_w, $new_h / $orig_h); $crop_w = round($new_w / $size_ratio); $crop_h = round($new_h / $size_ratio); $s_x = floor( ($orig_w - $crop_w) / 2 ); $s_y = floor( ($orig_h - $crop_h) / 2 ); return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h ); } add_filter( 'image_resize_dimensions', 'alx_thumbnail_upscale', 10, 6 ); /* Add shortcode support to text widget /* ------------------------------------ */ add_filter( 'widget_text', 'do_shortcode' ); /* Browser detection body_class() output /* ------------------------------------ */ function alx_browser_body_class( $classes ) { global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone; if($is_lynx) $classes[] = 'lynx'; elseif($is_gecko) $classes[] = 'gecko'; elseif($is_opera) $classes[] = 'opera'; elseif($is_NS4) $classes[] = 'ns4'; elseif($is_safari) $classes[] = 'safari'; elseif($is_chrome) $classes[] = 'chrome'; elseif($is_IE) { $browser = $_SERVER['HTTP_USER_AGENT']; $browser = substr( "$browser", 25, 8); if ($browser == "MSIE 7.0" ) { $classes[] = 'ie7'; $classes[] = 'ie'; } elseif ($browser == "MSIE 6.0" ) { $classes[] = 'ie6'; $classes[] = 'ie'; } elseif ($browser == "MSIE 8.0" ) { $classes[] = 'ie8'; $classes[] = 'ie'; } elseif ($browser == "MSIE 9.0" ) { $classes[] = 'ie9'; $classes[] = 'ie'; } else { $classes[] = 'ie'; } } else $classes[] = 'unknown'; if( $is_iphone ) $classes[] = 'iphone'; return $classes; } add_filter( 'body_class', 'alx_browser_body_class' ); /* ------------------------------------------------------------------------- * * Actions /* ------------------------------------------------------------------------- */ /* Script for no-js / js class /* ------------------------------------ */ function alx_html_js_class () { $html = ''; echo ''. "\n"; echo $html; } add_action( 'wp_head', 'alx_html_js_class', 1 ); /* IE js header /* ------------------------------------ */ function alx_ie_js_header () { $html = ''; echo ''. "\n"; echo $html; } add_action( 'wp_head', 'alx_ie_js_header' ); /* IE js footer /* ------------------------------------ */ function alx_ie_js_footer () { $html = ''; echo ''. "\n"; echo $html; } add_action( 'wp_footer', 'alx_ie_js_footer', 20 ); /* TGM plugin activation /* ------------------------------------ */ require_once dirname( __FILE__ ) . '/functions/class-tgm-plugin-activation.php'; function alx_plugins() { // Add the following plugins $plugins = array( array( 'name' => 'Regenerate Thumbnails', 'slug' => 'regenerate-thumbnails', 'required' => false, 'force_activation' => false, 'force_deactivation'=> false, ), array( 'name' => 'WP-PageNavi', 'slug' => 'wp-pagenavi', 'required' => false, 'force_activation' => false, 'force_deactivation'=> false, ), array( 'name' => 'Responsive Lightbox', 'slug' => 'light', 'source' => get_stylesheet_directory() . '/functions/plugins/light.zip', 'required' => false, 'force_activation' => false, 'force_deactivation'=> false, ), array( 'name' => 'Contact Form 7', 'slug' => 'contact-form-7', 'required' => false, 'force_activation' => false, 'force_deactivation'=> false, ) ); tgmpa( $plugins ); } add_action( 'tgmpa_register', 'alx_plugins' );