Name ); /** * Includes * * @since 1.0.0 */ require( BAVOTASAN_THEME_TEMPLATE . '/library/theme-options.php' ); // Functions for theme options page require( BAVOTASAN_THEME_TEMPLATE . '/library/preview-pro.php' ); // Functions for preview pro page require( BAVOTASAN_THEME_TEMPLATE . '/library/custom-metaboxes.php' ); // Functions for home page alignment /** * Prepare the content width * * @since 1.0.0 */ $bavotasan_theme_options = bavotasan_theme_options(); if ( ! isset( $content_width ) ) $content_width = $bavotasan_theme_options['width'] - 30; add_action( 'after_setup_theme', 'bavotasan_setup' ); if ( ! function_exists( 'bavotasan_setup' ) ) : /** * Initial setup * * This function is attached to the 'after_setup_theme' action hook. * * @uses load_theme_textdomain() * @uses get_locale() * @uses BAVOTASAN_THEME_TEMPLATE * @uses add_theme_support() * @uses add_editor_style() * @uses add_custom_background() * @uses add_custom_image_header() * @uses register_default_headers() * * @since 1.0.0 */ function bavotasan_setup() { load_theme_textdomain( 'ward', BAVOTASAN_THEME_TEMPLATE . '/library/languages' ); // Add default posts and comments RSS feed links to . add_theme_support( 'automatic-feed-links' ); // This theme styles the visual editor with editor-style.css to match the theme style. add_editor_style(); // This theme uses wp_nav_menu() in one location. register_nav_menu( 'primary', __( 'Primary Menu', 'ward' ) ); // Add support for a variety of post formats add_theme_support( 'post-formats', array( 'gallery', 'image', 'video', 'audio', 'quote', 'link', 'status', 'aside' ) ); // This theme uses Featured Images (also known as post thumbnails) for archive pages add_theme_support( 'post-thumbnails' ); add_image_size( 'home-page', 500, 400, true ); // Add support for custom backgrounds add_theme_support( 'custom-background' ); // Add HTML5 elements add_theme_support( 'html5', array( 'comment-list', 'search-form', 'comment-form', ) ); } endif; // bavotasan_setup add_action( 'wp_head', 'bavotasan_styles' ); /** * Add a style block to the theme for the current link color. * * This function is attached to the 'wp_head' action hook. * * @since 1.0.0 */ function bavotasan_styles() { $bavotasan_theme_options = bavotasan_theme_options(); ?> add_node( array( 'id' => 'bavotasan_toolbar', 'title' => BAVOTASAN_THEME_NAME, 'href' => admin_url( 'customize.php' ) ) ); } add_action( 'wp_enqueue_scripts', 'bavotasan_add_js' ); if ( ! function_exists( 'bavotasan_add_js' ) ) : /** * Load all JavaScript to header * * This function is attached to the 'wp_enqueue_scripts' action hook. * * @uses is_admin() * @uses is_singular() * @uses get_option() * @uses wp_enqueue_script() * @uses BAVOTASAN_THEME_URL * * @since 1.0.0 */ function bavotasan_add_js() { if ( is_singular() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); wp_enqueue_script( 'bootstrap', BAVOTASAN_THEME_URL .'/library/js/bootstrap.min.js', array( 'jquery' ), '2.2.2', true ); wp_enqueue_script( 'theme_js', BAVOTASAN_THEME_URL .'/library/js/theme.js', array( 'bootstrap' ), '', true ); wp_enqueue_style( 'theme_stylesheet', get_stylesheet_uri() ); wp_enqueue_style( 'google_fonts', 'http://fonts.googleapis.com/css?family=Lato:300', false, null, 'all' ); } endif; // bavotasan_add_js add_action( 'widgets_init', 'bavotasan_widgets_init' ); if ( ! function_exists( 'bavotasan_widgets_init' ) ) : /** * Creating the two sidebars * * This function is attached to the 'widgets_init' action hook. * * @uses register_sidebar() * * @since 1.0.0 */ function bavotasan_widgets_init() { require( BAVOTASAN_THEME_TEMPLATE . '/library/widgets/widget-image-icon.php' ); // Custom Image/Icon Text widget register_sidebar( array( 'name' => __( 'First Sidebar', 'ward' ), 'id' => 'sidebar', 'description' => __( 'This is the first sidebar widgetized area. All defaults widgets work great here.', 'ward' ), 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Home Page Top Area', 'ward' ), 'id' => 'home-page-top-area', 'description' => __( 'Widgetized area on the home page directly below the navigation menu. Specifically designed for 4 text widgets. Must be turned on in the Layout options on the Theme Options admin page.', 'ward' ), 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } endif; // bavotasan_widgets_init if ( ! function_exists( 'bavotasan_pagination' ) ) : /** * Add pagination * * @uses paginate_links() * @uses add_query_arg() * * @since 1.0.0 */ function bavotasan_pagination() { global $wp_query; // Don't print empty markup if there's only one page. if ( $wp_query->max_num_pages < 2 ) return; ?> = 2 || $page >= 2 ) $title = "$title $sep " . sprintf( __( 'Page %s', 'ward' ), max( $paged, $page ) ); return $title; } endif; // bavotasan_filter_wp_title if ( ! function_exists( 'bavotasan_comment' ) ) : /** * Callback function for comments * * Referenced via wp_list_comments() in comments.php. * * @uses get_avatar() * @uses get_comment_author_link() * @uses get_comment_date() * @uses get_comment_time() * @uses edit_comment_link() * @uses comment_text() * @uses comments_open() * @uses comment_reply_link() * * @since 1.0.0 */ function bavotasan_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case '' : ?>
  • >
    comment_approved ) { echo '' . __( 'Your comment is awaiting moderation.', 'ward' ) . ''; } ?>
    comment_type ) { ?>
    $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
  • ' . $text . '

    '; } endif; // bavotasan_excerpt_more add_filter( 'the_content_more_link', 'bavotasan_content_more_link', 10, 2 ); if ( ! function_exists( 'bavotasan_content_more_link' ) ) : /** * Customize read more link for content * * This function is attached to the 'the_content_more_link' filter hook. * * @param string $link * @param string $text * * @return Custom read more link * * @since 1.0.0 */ function bavotasan_content_more_link( $link, $text ) { return ''; } endif; // bavotasan_content_more_link add_filter( 'excerpt_length', 'bavotasan_excerpt_length', 999 ); if ( ! function_exists( 'bavotasan_excerpt_length' ) ) : /** * Custom excerpt length * * This function is attached to the 'excerpt_length' filter hook. * * @param int $length * * @return Custom excerpt length * * @since 1.0.0 */ function bavotasan_excerpt_length( $length ) { return 60; } endif; // bavotasan_excerpt_length /* * Remove default gallery styles */ add_filter( 'use_default_gallery_style', '__return_false' ); /** * Create the required attributes for the #primary container * * @since 1.0.0 */ function bavotasan_primary_attr() { $bavotasan_theme_options = bavotasan_theme_options(); $layout = $bavotasan_theme_options['layout']; $column = ( is_singular() ) ? $bavotasan_theme_options['primary'] : ''; $class = ( 6 == $layout ) ? $column . ' centered' : $column; $class = ( ( 1 == $layout || 3 == $layout ) && is_singular() ) ? $class . ' pull-right' : $class; echo 'class="' . $class . '"'; } /** * Create the required classes for the #secondary sidebar container * * @since 1.0.0 */ function bavotasan_sidebar_class() { $bavotasan_theme_options = bavotasan_theme_options(); $class = str_replace( 'col-md-', '', $bavotasan_theme_options['primary'] ); $class = 'col-md-' . ( 12 - $class ); echo 'class="' . $class . '"'; } add_filter( 'next_posts_link_attributes', 'bavotasan_add_attr' ); add_filter( 'previous_posts_link_attributes', 'bavotasan_add_attr' ); /** * Add 'btn' class to previous and next posts links * * This function is attached to the 'next_posts_link_attributes' and 'previous_posts_link_attributes' filter hook. * * @param string $format * * @return Modified string * * @since 1.0.0 */ function bavotasan_add_attr() { return 'class="btn btn-primary btn-lg"'; } add_filter( 'next_post_link', 'bavotasan_add_class' ); add_filter( 'previous_post_link', 'bavotasan_add_class' ); add_filter( 'next_image_link', 'bavotasan_add_class' ); add_filter( 'previous_image_link', 'bavotasan_add_class' ); /** * Add 'btn' class to previous and next post links * * This function is attached to the 'next_post_link' and 'previous_post_link' filter hook. * * @param string $format * * @return Modified string * * @since 1.0.0 */ function bavotasan_add_class( $format ){ return str_replace( 'href=', 'class="btn btn-primary" href=', $format ); } /** * Default menu * * Referenced via wp_nav_menu() in header.php. * * @since 1.0.0 */ function bavotasan_default_menu( $args ) { extract( $args ); $output = wp_list_categories( array( 'title_li' => '', 'echo' => 0, 'number' => 5, 'depth' => 1, ) ); echo "<$container class='$container_class'>"; } /** * Add bootstrap classes to menu items * * @since 1.0.0 */ class Bavotasan_Page_Navigation_Walker extends Walker_Nav_Menu { function check_current( $classes ) { return preg_match( '/(current[-_])|active|dropdown/', $classes ); } function start_lvl( &$output, $depth = 0, $args = array() ) { $output .= "\n