'Primary Navigation', ) ); // Your changeable header business starts here if ( ! defined( 'HEADER_TEXTCOLOR' ) ) define( 'HEADER_TEXTCOLOR', 'fff' ); // No CSS, just IMG call. The %s is a placeholder for the theme template directory URI. if ( ! defined( 'HEADER_IMAGE' ) ) define( 'HEADER_IMAGE', '%s/images/headers/default.jpg' ); // The height and width of your custom header. You can hook into the theme's own filters to change these values. // Add a filter to jloanheader_image_width and jloanheader_image_height to change these values. define( 'HEADER_IMAGE_WIDTH', apply_filters( 'jloanheader_image_width', 724 ) ); define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'jloanheader_image_height', 248 ) ); // We'll be using post thumbnails for custom header images on posts and pages. // We want them to be 940 pixels wide by 198 pixels tall. // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php. set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); // Don't support text inside the header image. if ( ! defined( 'NO_HEADER_TEXT' ) ) define( 'NO_HEADER_TEXT', false ); // Add a way for the custom header to be styled in the admin panel that controls // custom headers. See jloanadmin_header_style(), below. add_custom_image_header( '', 'jloanadmin_header_style' ); // ... and thus ends the changeable header business. // Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI. register_default_headers( array( 'default' => array( 'url' => '%s/images/headers/default.jpg', 'thumbnail_url' => '%s/images/headers/default-thumbnail.jpg', /* translators: header image description */ 'description' => 'Default' ), 'lonely-umbrella' => array( 'url' => '%s/images/headers/lonely-umbrella.jpg', 'thumbnail_url' => '%s/images/headers/lonely-umbrella-thumbnail.jpg', /* translators: header image description */ 'description' => 'Lonely Umbrella' ) ) ); } endif; if ( ! function_exists( 'jloanadmin_header_style' ) ) : /** * Styles the header image displayed on the Appearance > Header admin panel. * * Referenced via add_custom_image_header() in jloansetup(). * */ function jloanadmin_header_style() { ?> ' . 'Continue reading '. ''; } /** * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and jloancontinue_reading_link(). */ function jloanauto_excerpt_more( $more ) { return ' …' . jloancontinue_reading_link(); } add_filter( 'excerpt_more', 'jloanauto_excerpt_more' ); /** * Adds a pretty "Continue Reading" link to custom post excerpts. */ function jloancustom_excerpt_more( $output ) { if ( has_excerpt() && ! is_attachment() ) { $output .= jloancontinue_reading_link(); } return $output; } add_filter( 'get_the_excerpt', 'jloancustom_excerpt_more' ); /** * Remove inline styles printed when the gallery shortcode is used */ add_filter( 'use_default_gallery_style', '__return_false' ); /** * Deprecated way to remove inline styles printed when the gallery shortcode is used. * * This function is no longer needed or used. Use the use_default_gallery_style * filter instead, as seen above. * * * @return string The gallery style filter, with the styles themselves removed. */ function jloanremove_gallery_css( $css ) { return preg_replace( "##s", '', $css ); } // Backwards compatibility with WordPress 3.0. if ( version_compare( $GLOBALS['wp_version'], '3.1', '<' ) ) add_filter( 'gallery_style', 'jloanremove_gallery_css' ); if ( ! function_exists( 'jloancomment' ) ) : /** * Template for comments and pingbacks. * */ function jloancomment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case '' : ?>
  • id="li-comment-">
    says:', sprintf( '%s', get_comment_author_link() ) ); ?>
    comment_approved == '0' ) : ?> Your comment is awaiting moderation.
    $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
  • Pingback:

    'Primary Widget Area', 'id' => 'primary-widget-area', 'description' => 'The primary widget area', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); // Area 2, located below the Primary Widget Area in the sidebar. Empty by default. register_sidebar( array( 'name' => 'Secondary Widget Area', 'id' => 'secondary-widget-area', 'description' => 'The secondary widget area', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); // Area 3, located in the footer. Empty by default. register_sidebar( array( 'name' => 'First Footer Widget Area', 'id' => 'first-footer-widget-area', 'description' => 'The first footer widget area', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); // Area 4, located in the footer. Empty by default. register_sidebar( array( 'name' => 'Second Footer Widget Area', 'id' => 'second-footer-widget-area', 'description' => 'The second footer widget area', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); // Area 5, located in the footer. Empty by default. register_sidebar( array( 'name' => 'Third Footer Widget Area', 'id' => 'third-footer-widget-area', 'description' =>'The third footer widget area', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); } /** Register sidebars by running jloanwidgets_init() on the widgets_init hook. */ add_action( 'widgets_init', 'jloanwidgets_init' ); /** * Removes the default styles that are packaged with the Recent Comments widget. */ function jloanremove_recent_comments_style() { add_filter( 'show_recent_comments_widget_style', '__return_false' ); } add_action( 'widgets_init', 'jloanremove_recent_comments_style' ); if ( ! function_exists( 'jloanposted_on' ) ) : /** * Prints HTML with meta information for the current post-date/time and author. */ function jloanposted_on() { printf('Posted on %2$s by %3$s', 'meta-prep meta-prep-author', sprintf( '%3$s', get_permalink(), esc_attr( get_the_time() ), get_the_date() ), sprintf( '%3$s', get_author_posts_url( get_the_author_meta( 'ID' ) ), sprintf( esc_attr( 'View all posts by %s'), get_the_author() ), get_the_author() ) ); } endif; if ( ! function_exists( 'jloanposted_in' ) ) : /** * Prints HTML with meta information for the current post (category, tags and permalink). */ function jloanposted_in() { $tag_list = get_the_tag_list( '', ', ' ); if ( $tag_list ) { $posted_in = 'This entry was posted in %1$s and tagged %2$s. Bookmark the permalink.'; } elseif ( is_object_in_taxonomy( get_post_type(), 'category' ) ) { $posted_in = 'This entry was posted in %1$s. Bookmark the permalink.'; } else { $posted_in = 'Bookmark the permalink.'; } printf( $posted_in, get_the_category_list( ', ' ), $tag_list, get_permalink(), the_title_attribute( 'echo=0' ) ); } endif;