Advertisement
w0lfiesmith

Reaplacement header.php for sticky header in Twenty Eleven

Sep 20th, 2012
1,405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.11 KB | None | 0 0
  1. <?php
  2. /**
  3.  * The Header for our theme.
  4.  *
  5.  * Displays all of the <head> section and everything up till <div id="main">
  6.  *
  7.  * @package WordPress
  8.  * @subpackage Twenty_Eleven
  9.  * @since Twenty Eleven 1.0
  10.  */
  11. ?><!DOCTYPE html>
  12. <!--[if IE 6]>
  13. <html id="ie6" <?php language_attributes(); ?>>
  14. <![endif]-->
  15. <!--[if IE 7]>
  16. <html id="ie7" <?php language_attributes(); ?>>
  17. <![endif]-->
  18. <!--[if IE 8]>
  19. <html id="ie8" <?php language_attributes(); ?>>
  20. <![endif]-->
  21. <!--[if !(IE 6) | !(IE 7) | !(IE 8)  ]><!-->
  22. <html <?php language_attributes(); ?>>
  23. <!--<![endif]-->
  24. <head>
  25. <meta charset="<?php bloginfo( 'charset' ); ?>" />
  26. <meta name="viewport" content="width=device-width" />
  27. <title><?php
  28.     /*
  29.      * Print the <title> tag based on what is being viewed.
  30.      */
  31.     global $page, $paged;
  32.  
  33.     wp_title( '|', true, 'right' );
  34.  
  35.     // Add the blog name.
  36.     bloginfo( 'name' );
  37.  
  38.     // Add the blog description for the home/front page.
  39.     $site_description = get_bloginfo( 'description', 'display' );
  40.     if ( $site_description && ( is_home() || is_front_page() ) )
  41.         echo " | $site_description";
  42.  
  43.     // Add a page number if necessary:
  44.     if ( $paged >= 2 || $page >= 2 )
  45.         echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) );
  46.  
  47.     ?></title>
  48. <link rel="profile" href="http://gmpg.org/xfn/11" />
  49. <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
  50. <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
  51. <!--[if lt IE 9]>
  52. <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
  53. <![endif]-->
  54. <?php
  55.     /* We add some JavaScript to pages with the comment form
  56.      * to support sites with threaded comments (when in use).
  57.      */
  58.     if ( is_singular() && get_option( 'thread_comments' ) )
  59.         wp_enqueue_script( 'comment-reply' );
  60.  
  61.     /* Always have wp_head() just before the closing </head>
  62.      * tag of your theme, or you will break many plugins, which
  63.      * generally use this hook to add elements to <head> such
  64.      * as styles, scripts, and meta tags.
  65.      */
  66.     wp_head();
  67. ?>
  68.  
  69. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
  70.  
  71. </head>
  72.  
  73. <body <?php body_class(); ?>>
  74. <div id="page" class="hfeed">
  75.     <header id="branding" role="banner">
  76.             <hgroup>
  77.                 <h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1>
  78.                 <h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
  79.             </hgroup>
  80.  
  81.             <?php
  82.                 // Check to see if the header image has been removed
  83.                 $header_image = get_header_image();
  84.                 if ( $header_image ) :
  85.                     // Compatibility with versions of WordPress prior to 3.4.
  86.                     if ( function_exists( 'get_custom_header' ) ) {
  87.                         // We need to figure out what the minimum width should be for our featured image.
  88.                         // This result would be the suggested width if the theme were to implement flexible widths.
  89.                         $header_image_width = get_theme_support( 'custom-header', 'width' );
  90.                     } else {
  91.                         $header_image_width = HEADER_IMAGE_WIDTH;
  92.                     }
  93.                     ?>
  94.             <a href="<?php echo esc_url( home_url( '/' ) ); ?>">
  95.                 <?php
  96.                     // The header image
  97.                     // Check if this is a post or page, if it has a thumbnail, and if it's a big one
  98.                     if ( is_singular() && has_post_thumbnail( $post->ID ) &&
  99.                             ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) &&
  100.                             $image[1] >= $header_image_width ) :
  101.                         // Houston, we have a new header image!
  102.                         echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
  103.                     else :
  104.                         // Compatibility with versions of WordPress prior to 3.4.
  105.                         if ( function_exists( 'get_custom_header' ) ) {
  106.                             $header_image_width  = get_custom_header()->width;
  107.                             $header_image_height = get_custom_header()->height;
  108.                         } else {
  109.                             $header_image_width  = HEADER_IMAGE_WIDTH;
  110.                             $header_image_height = HEADER_IMAGE_HEIGHT;
  111.                         }
  112.                         ?>
  113.                     <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
  114.                 <?php endif; // end check for featured image or standard header ?>
  115.             </a>
  116.             <?php endif; // end check for removed header image ?>
  117.  
  118.             <?php
  119.                 // Has the text been hidden?
  120.                 if ( 'blank' == get_header_textcolor() ) :
  121.             ?>
  122.                 <div class="only-search<?php if ( $header_image ) : ?> with-image<?php endif; ?>">
  123.                 </div>
  124.             <?php
  125.                 else :
  126.             ?>
  127.             <?php endif; ?>
  128.  
  129.            
  130.         <div id"access_container">
  131.             <nav id="access" role="navigation">
  132.                                
  133.                 <?php get_search_form();?>
  134.  
  135.                 <h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3>
  136.                 <?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?>
  137.                 <div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div>
  138.                 <div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div>
  139.                 <?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assigned to the primary location is the one used. If one isn't assigned, the menu with the lowest ID is used. */ ?>
  140.                 <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
  141.             </nav>
  142.         </div>
  143.  
  144.     </header><!-- #branding -->
  145.  
  146. <script type="text/javascript">
  147. //make the subnav sticky
  148.     var stickyHeader = $('#access').offset().top+288;
  149.     $(window).scroll(function(){
  150.             if( $(window).scrollTop() > stickyHeader ) {
  151.                     $('#access').css({position: 'fixed', top: '0px'});
  152.             } else {
  153.                     $('#access').css({position: 'static', top: '0px'});
  154.             }
  155.     });
  156. </script>
  157.     <div id="main">
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement