Developed by 320press. Built using Bones.'; } // adding it to the admin area add_filter('admin_footer_text', 'wp_bootstrap_custom_admin_footer'); // Set content width if ( ! isset( $content_width ) ) $content_width = 580; /************* THUMBNAIL SIZE OPTIONS *************/ // Thumbnail sizes add_image_size( 'wpbs-featured', 780, 300, true ); add_image_size( 'wpbs-featured-home', 970, 311, true); add_image_size( 'wpbs-featured-carousel', 970, 400, true); /* to add more sizes, simply copy a line from above and change the dimensions & name. As long as you upload a "featured image" as large as the biggest set width or height, all the other sizes will be auto-cropped. To call a different size, simply change the text inside the thumbnail function. For example, to call the 300 x 300 sized image, we would use the function: for the 600 x 100 image: You can change the names and dimensions to whatever you like. Enjoy! */ /************* ACTIVE SIDEBARS ********************/ // Sidebars & Widgetizes Areas function wp_bootstrap_register_sidebars() { register_sidebar(array( 'id' => 'sidebar1', 'name' => 'Main Sidebar', 'description' => 'Used on every page BUT the homepage page template.', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); register_sidebar(array( 'id' => 'sidebar2', 'name' => 'Homepage Sidebar', 'description' => 'Used only on the homepage page template.', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); register_sidebar(array( 'id' => 'footer1', 'name' => 'Footer 1', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); register_sidebar(array( 'id' => 'footer2', 'name' => 'Footer 2', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); register_sidebar(array( 'id' => 'footer3', 'name' => 'Footer 3', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', )); /* to add more sidebars or widgetized areas, just copy and edit the above sidebar code. In order to call your new sidebar just use the following code: Just change the name to whatever your new sidebar's id is, for example: To call the sidebar in your template, you can just copy the sidebar.php file and rename it to your sidebar's name. So using the above example, it would be: sidebar-sidebar2.php */ } // don't remove this bracket! /************* COMMENT LAYOUT *********************/ // Comment Layout function wp_bootstrap_comments($comment, $args, $depth) { $GLOBALS['comment'] = $comment; ?>
  • >
    %s', get_comment_author_link()) ?> ','') ?> comment_approved == '0') : ?>

    $depth, 'max_depth' => $args['max_depth']))) ?>
  •   ID ) ? rand() : $post->ID ); $o = '
    ' . '

    ' . __( "This post is password protected. To view it please enter your password below:" ,'wpbootstrap') . '

    ' . '
    '; return $o; } /*********** update standard wp tag cloud widget so it looks better ************/ add_filter( 'widget_tag_cloud_args', 'my_widget_tag_cloud_args' ); function my_widget_tag_cloud_args( $args ) { $args['number'] = 20; // show less tags $args['largest'] = 9.75; // make largest and smallest the same - i don't like the varying font-size look $args['smallest'] = 9.75; $args['unit'] = 'px'; return $args; } // filter tag clould output so that it can be styled by CSS function add_tag_class( $taglinks ) { $tags = explode('', $taglinks); $regex = "#(.*tag-link[-])(.*)(' title.*)#e"; foreach( $tags as $tag ) { $tagn[] = preg_replace($regex, "('$1$2 label tag-'.get_tag($2)->slug.'$3')", $tag ); } $taglinks = implode('', $tagn); return $taglinks; } add_action( 'wp_tag_cloud', 'add_tag_class' ); add_filter( 'wp_tag_cloud','wp_tag_cloud_filter', 10, 2) ; function wp_tag_cloud_filter( $return, $args ) { return '
    ' . $return . '
    '; } // Enable shortcodes in widgets add_filter( 'widget_text', 'do_shortcode' ); // Disable jump in 'read more' link function remove_more_jump_link( $link ) { $offset = strpos($link, '#more-'); if ( $offset ) { $end = strpos( $link, '"',$offset ); } if ( $end ) { $link = substr_replace( $link, '', $offset, $end-$offset ); } return $link; } add_filter( 'the_content_more_link', 'remove_more_jump_link' ); // Remove height/width attributes on images so they can be responsive add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 ); add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 ); function remove_thumbnail_dimensions( $html ) { $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html ); return $html; } // Add the Meta Box to the homepage template function add_homepage_meta_box() { global $post; // Only add homepage meta box if template being used is the homepage template // $post_id = isset($_GET['post']) ? $_GET['post'] : (isset($_POST['post_ID']) ? $_POST['post_ID'] : ""); $post_id = $post->ID; $template_file = get_post_meta($post_id,'_wp_page_template',TRUE); if ( $template_file == 'page-homepage.php' ){ add_meta_box( 'homepage_meta_box', // $id 'Optional Homepage Tagline', // $title 'show_homepage_meta_box', // $callback 'page', // $page 'normal', // $context 'high'); // $priority } } add_action( 'add_meta_boxes', 'add_homepage_meta_box' ); // Field Array $prefix = 'custom_'; $custom_meta_fields = array( array( 'label'=> 'Homepage tagline area', 'desc' => 'Displayed underneath page title. Only used on homepage template. HTML can be used.', 'id' => $prefix.'tagline', 'type' => 'textarea' ) ); // The Homepage Meta Box Callback function show_homepage_meta_box() { global $custom_meta_fields, $post; // Use nonce for verification wp_nonce_field( basename( __FILE__ ), 'wpbs_nonce' ); // Begin the field table and loop echo ''; foreach ( $custom_meta_fields as $field ) { // get value of this field if it exists for this post $meta = get_post_meta($post->ID, $field['id'], true); // begin a table row with echo ''; } // end foreach echo '
    '; switch($field['type']) { // text case 'text': echo '
    '.$field['desc'].''; break; // textarea case 'textarea': echo '
    '.$field['desc'].''; break; } //end switch echo '
    '; // end table } // Save the Data function save_homepage_meta( $post_id ) { global $custom_meta_fields; // verify nonce if ( !isset( $_POST['wpbs_nonce'] ) || !wp_verify_nonce($_POST['wpbs_nonce'], basename(__FILE__)) ) return $post_id; // check autosave if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; // check permissions if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id ) ) return $post_id; } elseif ( !current_user_can( 'edit_post', $post_id ) ) { return $post_id; } // loop through fields and save the data foreach ( $custom_meta_fields as $field ) { $old = get_post_meta( $post_id, $field['id'], true ); $new = $_POST[$field['id']]; if ($new && $new != $old) { update_post_meta( $post_id, $field['id'], $new ); } elseif ( '' == $new && $old ) { delete_post_meta( $post_id, $field['id'], $old ); } } // end foreach } add_action( 'save_post', 'save_homepage_meta' ); // Add thumbnail class to thumbnail links function add_class_attachment_link( $html ) { $postid = get_the_ID(); $html = str_replace( ']+)?>/', '', $content, 1); } add_filter( 'the_content', 'first_paragraph' ); // Menu output mods class Bootstrap_walker extends Walker_Nav_Menu{ function start_el(&$output, $object, $depth = 0, $args = Array(), $current_object_id = 0){ global $wp_query; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $class_names = $value = ''; // If the item has children, add the dropdown class for bootstrap if ( $args->has_children ) { $class_names = "dropdown "; } $classes = empty( $object->classes ) ? array() : (array) $object->classes; $class_names .= join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $object ) ); $class_names = ' class="'. esc_attr( $class_names ) . '"'; $output .= $indent . '