$default_header_color, // Header image default 'default-image' => trailingslashit( esc_url ( get_template_directory_uri() ) ) . 'images/headers/buddha.jpg', // Set height and width, with a maximum value for the width. 'height' => 400, 'width' => 1200, // Support flexible height and width. 'flex-height' => true, 'flex-width' => true, // Random image rotation off by default. 'random-default' => false, // Callbacks for styling the header and the admin preview. 'wp-head-callback' => 'catchresponsive_header_style', 'admin-head-callback' => 'catchresponsive_admin_header_style', 'admin-preview-callback' => 'catchresponsive_admin_header_image', ); $args = apply_filters( 'custom-header', $args ); // Add support for custom header add_theme_support( 'custom-header', $args ); } endif; // catchresponsive_custom_header add_action( 'after_setup_theme', 'catchresponsive_custom_header' ); if ( ! function_exists( 'catchresponsive_header_style' ) ) : /** * Styles the header image and text displayed on the blog * * @see catchresponsive_custom_header() * * @since Catch Responsive 0.3 */ function catchresponsive_header_style() { // If no custom options for text are set, let's bail // get_header_textcolor() options: get_theme_support( 'custom-header', 'default-text-color' ) is default, hide text (returns 'blank') or any hex value if ( get_theme_support( 'custom-header', 'default-text-color' ) === get_header_textcolor() ) return; // If we get this far, we have custom styles. Let's do this. ?> Header admin panel. * * @since Catch Responsive 1.0 */ function catchresponsive_admin_header_style() { $options = catchresponsive_get_theme_options(); $defaults = catchresponsive_get_default_theme_options(); ?> Header admin panel. * * @since Catch Responsive 1.0 */ function catchresponsive_admin_header_image() { catchresponsive_site_branding(); catchresponsive_featured_image(); ?> '. get_custom_logo() . ''; } } elseif ( '' != $options['logo'] && !$options['logo_disable'] ) { $catchresponsive_site_logo = ' '; } $catchresponsive_header_text = ''; $text_color = get_header_textcolor(); $catchresponsive_site_branding = '
'; $catchresponsive_site_branding .= $catchresponsive_header_text; if ( function_exists( 'has_custom_logo' ) ) { if ( has_custom_logo() ) { if ( ! $options['move_title_tagline'] && 'blank' != $text_color ) { $catchresponsive_site_branding = '
'; $catchresponsive_site_branding .= $catchresponsive_site_logo; $catchresponsive_site_branding .= $catchresponsive_header_text; } else { $catchresponsive_site_branding = '
'; $catchresponsive_site_branding .= $catchresponsive_header_text; $catchresponsive_site_branding .= $catchresponsive_site_logo; } } } elseif ( '' != $options['logo'] && !$options['logo_disable'] ) { if ( ! $options['move_title_tagline'] && 'blank' != $text_color ) { $catchresponsive_site_branding = '
'; $catchresponsive_site_branding .= $catchresponsive_site_logo; $catchresponsive_site_branding .= $catchresponsive_header_text; } else { $catchresponsive_site_branding = '
'; $catchresponsive_site_branding .= $catchresponsive_header_text; $catchresponsive_site_branding .= $catchresponsive_site_logo; } } $catchresponsive_site_branding .= '
'; echo $catchresponsive_site_branding ; } endif; // catchresponsive_site_branding add_action( 'catchresponsive_header', 'catchresponsive_site_branding', 50 ); if ( ! function_exists( 'catchresponsive_featured_image' ) ) : /** * Template for Featured Header Image from theme options * * To override this in a child theme * simply create your own catchresponsive_featured_image(), and that function will be used instead. * * @since Catch Responsive 1.0 */ function catchresponsive_featured_image() { $options = catchresponsive_get_theme_options(); $header_image = get_header_image(); //Support Random Header Image if ( is_random_header_image() ) { delete_transient( 'catchresponsive_featured_image' ); } if ( !$catchresponsive_featured_image = get_transient( 'catchresponsive_featured_image' ) ) { echo ''; if ( '' != $header_image ) { // Header Image Link and Target if ( !empty( $options['featured_header_image_url'] ) ) { //support for qtranslate custom link if ( function_exists( 'qtrans_convertURL' ) ) { $link = qtrans_convertURL($options['featured_header_image_url']); } else { $link = esc_url( $options['featured_header_image_url'] ); } //Checking Link Target if ( !empty( $options['featured_header_image_base'] ) ) { $target = '_blank'; } else { $target = '_self'; } } else { $link = ''; $target = ''; } // Header Image Title/Alt if ( !empty( $options['featured_header_image_alt'] ) ) { $title = esc_attr( $options['featured_header_image_alt'] ); } else { $title = ''; } // Header Image $feat_image = '' . esc_attr( $title ) . ''; $catchresponsive_featured_image = ''; } set_transient( 'catchresponsive_featured_image', $catchresponsive_featured_image, 86940 ); } echo $catchresponsive_featured_image; } // catchresponsive_featured_image endif; if ( ! function_exists( 'catchresponsive_featured_page_post_image' ) ) : /** * Template for Featured Header Image from Post and Page * * To override this in a child theme * simply create your own catchresponsive_featured_imaage_pagepost(), and that function will be used instead. * * @since Catch Responsive 1.0 */ function catchresponsive_featured_page_post_image() { global $post, $wp_query; // Get Page ID outside Loop $page_id = $wp_query->get_queried_object_id(); $page_for_posts = get_option('page_for_posts'); if ( is_home() && $page_for_posts == $page_id ) { $header_page_id = $page_id; } else { $header_page_id = $post->ID; } if ( has_post_thumbnail( $header_page_id ) ) { $options = catchresponsive_get_theme_options(); $featured_header_image_url = $options['featured_header_image_url']; $featured_header_image_base = $options['featured_header_image_base']; if ( '' != $featured_header_image_url ) { //support for qtranslate custom link if ( function_exists( 'qtrans_convertURL' ) ) { $link = qtrans_convertURL( $featured_header_image_url ); } else { $link = esc_url( $featured_header_image_url ); } //Checking Link Target if ( '1' == $featured_header_image_base ) { $target = '_blank'; } else { $target = '_self'; } } else { $link = ''; $target = ''; } $featured_header_image_alt = $options['featured_header_image_alt']; // Header Image Title/Alt if ( '' != $featured_header_image_alt ) { $title = esc_attr( $featured_header_image_alt ); } else { $title = ''; } $featured_image_size = $options['featured_image_size']; if ( 'slider' == $featured_image_size ) { $feat_image = get_the_post_thumbnail( $post->ID, 'catchresponsive-slider', array('id' => 'main-feat-img')); } elseif ( 'full' == $featured_image_size ) { $feat_image = get_the_post_thumbnail( $post->ID, 'full', array('id' => 'main-feat-img')); } else { $feat_image = get_the_post_thumbnail( $post->ID, 'catchresponsive-large', array('id' => 'main-feat-img')); } $catchresponsive_featured_image = ''; echo $catchresponsive_featured_image; } else { catchresponsive_featured_image(); } } // catchresponsive_featured_page_post_image endif; if ( ! function_exists( 'catchresponsive_featured_overall_image' ) ) : /** * Template for Featured Header Image from theme options * * To override this in a child theme * simply create your own catchresponsive_featured_pagepost_image(), and that function will be used instead. * * @since Catch Responsive 1.0 */ function catchresponsive_featured_overall_image() { global $post, $wp_query; $options = catchresponsive_get_theme_options(); $defaults = catchresponsive_get_default_theme_options(); $enableheaderimage = $options['enable_featured_header_image']; // Get Page ID outside Loop $page_id = $wp_query->get_queried_object_id(); $page_for_posts = get_option('page_for_posts'); // Check Enable/Disable header image in Page/Post Meta box if ( is_page() || is_single() ) { //Individual Page/Post Image Setting $individual_featured_image = get_post_meta( $post->ID, 'catchresponsive-header-image', true ); if ( 'disable' == $individual_featured_image || ( 'default' == $individual_featured_image && 'disable' == $enableheaderimage ) ) { echo ''; return; } elseif ( 'enable' == $individual_featured_image && 'disabled' == $enableheaderimage ) { catchresponsive_featured_page_post_image(); } } // Check Homepage if ( 'homepage' == $enableheaderimage ) { if ( is_front_page() || ( is_home() && $page_for_posts != $page_id ) ) { catchresponsive_featured_image(); } } // Check Excluding Homepage if ( 'exclude-home' == $enableheaderimage ) { if ( is_front_page() || ( is_home() && $page_for_posts != $page_id ) ) { return false; } else { catchresponsive_featured_image(); } } elseif ( 'exclude-home-page-post' == $enableheaderimage ) { if ( is_front_page() || ( is_home() && $page_for_posts != $page_id ) ) { return false; } elseif ( is_page() || is_single() ) { catchresponsive_featured_page_post_image(); } else { catchresponsive_featured_image(); } } // Check Entire Site elseif ( 'entire-site' == $enableheaderimage ) { catchresponsive_featured_image(); } // Check Entire Site (Post/Page) elseif ( 'entire-site-page-post' == $enableheaderimage ) { if ( is_page() || is_single() ) { catchresponsive_featured_page_post_image(); } else { catchresponsive_featured_image(); } } // Check Page/Post elseif ( 'pages-posts' == $enableheaderimage ) { if ( is_page() || is_single() ) { catchresponsive_featured_page_post_image(); } } else { echo ''; } } // catchresponsive_featured_overall_image endif; if ( ! function_exists( 'catchresponsive_featured_image_display' ) ) : /** * Display Featured Header Image * * @since Catch Responsive 1.0 */ function catchresponsive_featured_image_display() { add_action( 'catchresponsive_after_header', 'catchresponsive_featured_overall_image', 40 ); } // catchresponsive_featured_image_display endif; add_action( 'catchresponsive_before', 'catchresponsive_featured_image_display' );