'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 '';
foreach( $links as $item ) {
// Build each separate html-section only if set
if ( isset ($item['title']) && !empty($item['title']) )
{ $title = 'title="' .$item['title']. '"'; } else $title = '';
if ( isset ($item['social-link']) && !empty($item['social-link']) )
{ $link = 'href="' .$item['social-link']. '"'; } else $link = '';
if ( isset ($item['social-target']) && !empty($item['social-target']) )
{ $target = 'target="' .$item['social-target']. '"'; } else $target = '';
if ( isset ($item['social-icon']) && !empty($item['social-icon']) )
{ $icon = 'class="fa ' .$item['social-icon']. '"'; } else $icon = '';
if ( isset ($item['social-color']) && !empty($item['social-color']) )
{ $color = 'style="color: ' .$item['social-color']. ';"'; } else $color = '';
// Put them together
echo ' ';
}
echo '
';
}
}
}
/* Site name/logo
/* ------------------------------------ */
function alx_site_title() {
// Text or image?
if ( ot_get_option('custom-logo') ) {
$logo = '
';
} 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, "