header.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?php
  2. /**
  3. * The header for our theme.
  4. *
  5. * This is the template that displays all of the <head> section and everything up until <div id="content">
  6. *
  7. * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
  8. *
  9. * @package Pen
  10. */
  11. ob_start();
  12. ?><!doctype html>
  13. <html <?php language_attributes(); ?> class="no-js">
  14. <head>
  15. <meta charset="<?php bloginfo( 'charset' ); ?>">
  16. <meta name="viewport" content="width=device-width, initial-scale=1">
  17. <link rel="profile" href="https://gmpg.org/xfn/11">
  18. <?php
  19. wp_head();
  20. ?>
  21. </head>
  22. <body <?php body_class(); ?>>
  23. <div id="page" class="site">
  24. <div class="pen_wrapper">
  25. <?php
  26. if ( ! is_customize_preview() ) {
  27. pen_html_jump_menu( 'color_schemes' );
  28. }
  29. ?>
  30. <a class="screen-reader-shortcut screen-reader-text" href="#content">
  31. <?php
  32. esc_html_e( 'Skip to content', 'pen' );
  33. ?>
  34. </a>
  35. <?php
  36. $header_primary = false;
  37. if ( pen_sidebar_check( 'sidebar-header-primary' ) && is_active_sidebar( 'sidebar-header-primary' ) ) {
  38. $header_primary = true;
  39. }
  40. $header_secondary = false;
  41. if ( pen_sidebar_check( 'sidebar-header-secondary' ) && is_active_sidebar( 'sidebar-header-secondary' ) ) {
  42. $header_secondary = true;
  43. }
  44. $connect = pen_html_connect( 'header' );
  45. $connect_display = 'hide';
  46. if ( $connect ) {
  47. $connect_display = 'show';
  48. }
  49. $search_html = pen_html_search_box();
  50. $search_location = '';
  51. $search_display = 'hide';
  52. $search_location = get_post_meta( get_the_ID(), 'pen_content_search_location_override', true );
  53. if ( ! $search_location || 'default' === $search_location ) {
  54. $search_location = pen_option_get( 'search_location' );
  55. }
  56. if ( $search_html ) {
  57. if ( 'header' === $search_location ) {
  58. $search_display = 'show';
  59. } elseif ( 'content' === $search_location ) {
  60. $search_display = 'show_toolbar';
  61. }
  62. }
  63. $logo = pen_html_logo();
  64. $phone = pen_option_get( 'phone' );
  65. $phone_display = ( $phone && pen_option_get( 'phone_header_display' ) ) ? 'show' : 'hide';
  66. ob_start( 'trim' );
  67. get_template_part( 'partials/site', 'navigation' );
  68. $navigation = ob_get_clean();
  69. $classes_header = array(
  70. 'site-header',
  71. $logo ? 'pen_has_logo' : '',
  72. $navigation ? 'pen_navigation_show' : 'pen_navigation_hide',
  73. 'pen_phone_' . sanitize_html_class( $phone_display ),
  74. 'pen_connect_' . sanitize_html_class( $connect_display ),
  75. 'pen_search_' . sanitize_html_class( $search_display ),
  76. 'pen_navigation_' . sanitize_html_class( pen_option_get( 'navigation_display' ) ? 'show' : 'hide' ),
  77. 'pen_navigation_mobile_' . sanitize_html_class( pen_option_get( 'navigation_mobile_display' ) ? 'show' : 'hide' ),
  78. );
  79. $classes_header = trim( implode( ' ', array_filter( $classes_header ) ) );
  80. ?>
  81. <header id="pen_header" class="<?php echo esc_attr( $classes_header ); ?>" role="banner">
  82. <div class="pen_header_inner">
  83. <div class="pen_header_main">
  84. <div class="pen_container clearfix">
  85. <h1>
  86. <?php
  87. echo $logo; /* phpcs:ignore */
  88. get_template_part( 'partials/site', 'title' );
  89. ?>
  90. </h1>
  91. <?php
  92. if ( $header_primary || $header_secondary || 'show' === $phone_display || $connect || ( 'header' === $search_location && $search_html ) ) {
  93. ?>
  94. <div class="pen_header_wrap pen_animate_on_scroll pen_custom_animation_fadeIn">
  95. <?php
  96. pen_sidebar_get( 'sidebar-header-primary' );
  97. if ( 'show' === $phone_display ) {
  98. ?>
  99. <div class="pen_phone <?php pen_class_animation( 'phone_header' ); /* phpcs:ignore */ ?>">
  100. <a href="tel:<?php echo esc_attr( $phone ); ?>">
  101. <?php
  102. echo esc_html( $phone );
  103. ?>
  104. </a>
  105. </div>
  106. <?php
  107. }
  108. echo $connect; /* phpcs:ignore */
  109. if ( 'header' === $search_location ) {
  110. echo $search_html; /* phpcs:ignore */
  111. }
  112. pen_sidebar_get( 'sidebar-header-secondary' );
  113. ?>
  114. </div>
  115. <?php
  116. }
  117. ?>
  118. </div>
  119. <?php
  120. pen_html_jump_menu( 'header' );
  121. ?>
  122. </div>
  123. <?php
  124. // Adds the main navigation menu.
  125. echo $navigation; /* phpcs:ignore */
  126. ?>
  127. </div><!-- .pen_header_inner -->
  128. <?php
  129. if ( $search_html && 'content' === $search_location ) {
  130. ?>
  131. <div id="pen_search">
  132. <div class="pen_container">
  133. <?php
  134. pen_sidebar_get( 'sidebar-search-top' );
  135. ?>
  136. </div>
  137. <div class="pen_container">
  138. <?php
  139. pen_sidebar_get( 'sidebar-search-left' );
  140. ?>
  141. <div id="pen_search_form">
  142. <?php
  143. echo $search_html; /* phpcs:ignore */
  144. ?>
  145. </div>
  146. <?php
  147. pen_sidebar_get( 'sidebar-search-right' );
  148. ?>
  149. </div>
  150. <div class="pen_container">
  151. <?php
  152. pen_sidebar_get( 'sidebar-search-bottom' );
  153. pen_html_jump_menu( 'search_bar' );
  154. ?>
  155. </div>
  156. </div>
  157. <?php
  158. }
  159. ?>
  160. </header>
  161. <div id="pen_section">
  162. <?php
  163. pen_sidebar_get( 'sidebar-top' );
  164. ?>
  165. <div class="pen_container">
  166. <div id="content" class="site-content clearfix">