Advertisement
srikat

Untitled

Feb 12th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.40 KB | None | 0 0
  1. <?php
  2. /**
  3. * Digital Pro.
  4. *
  5. * This file adds the front page to the Digital Pro Theme.
  6. *
  7. * @package Digital
  8. * @author StudioPress
  9. * @license GPL-2.0+
  10. * @link http://my.studiopress.com/themes/digital/
  11. */
  12.  
  13. add_action( 'genesis_meta', 'digital_front_page_genesis_meta' );
  14. /**
  15. * Add widget support for homepage. If no widgets active, display the default loop.
  16. *
  17. * @since 1.0.0
  18. */
  19. function digital_front_page_genesis_meta() {
  20.  
  21. if ( is_active_sidebar( 'front-page-1' ) || is_active_sidebar( 'front-page-2' ) || is_active_sidebar( 'front-page-3' ) ) {
  22.  
  23. // Enqueue scripts.
  24. add_action( 'wp_enqueue_scripts', 'digital_enqueue_digital_script' );
  25. function digital_enqueue_digital_script() {
  26.  
  27. wp_register_style( 'digitalIE9', get_stylesheet_directory_uri() . '/style-ie9.css', array(), CHILD_THEME_VERSION );
  28. wp_style_add_data( 'digitalIE9', 'conditional', 'IE 9' );
  29. wp_enqueue_style( 'digitalIE9' );
  30.  
  31. wp_enqueue_script( 'digital-front-script', get_stylesheet_directory_uri() . '/js/front-page.js', array( 'jquery' ), CHILD_THEME_VERSION, true );
  32.  
  33. wp_enqueue_style( 'digital-front-styles', get_stylesheet_directory_uri() . '/style-front.css', array(), CHILD_THEME_VERSION );
  34.  
  35. }
  36.  
  37. // Enqueue scripts for backstretch.
  38. add_action( 'wp_enqueue_scripts', 'digital_front_page_enqueue_scripts' );
  39. function digital_front_page_enqueue_scripts() {
  40.  
  41. $image = get_option( 'digital-front-image', sprintf( '%s/images/front-page-1.jpg', get_stylesheet_directory_uri() ) );
  42.  
  43. // Load scripts only if custom backstretch image is being used.
  44. if ( ! empty( $image ) && is_active_sidebar( 'front-page-1' ) ) {
  45.  
  46. // Enqueue Backstretch scripts.
  47. wp_enqueue_script( 'digital-backstretch', get_stylesheet_directory_uri() . '/js/backstretch.js', array( 'jquery' ), '1.0.0', true );
  48. wp_enqueue_script( 'digital-backstretch-set', get_stylesheet_directory_uri() . '/js/backstretch-set.js' , array( 'jquery', 'digital-backstretch' ), '1.0.0', true );
  49.  
  50. wp_localize_script( 'digital-backstretch-set', 'BackStretchImg', array( 'src' => str_replace( 'http:', '', $image ) ) );
  51.  
  52. }
  53.  
  54. }
  55.  
  56. // Add front-page body class.
  57. add_filter( 'body_class', 'digital_body_class' );
  58.  
  59. // Force full width content layout.
  60. add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' );
  61.  
  62. // Remove breadcrumbs.
  63. remove_action( 'genesis_before_loop', 'genesis_do_breadcrumbs' );
  64.  
  65. // Add widgets on front page.
  66. add_action( 'genesis_after_header', 'digital_front_page_widgets' );
  67.  
  68. $journal = get_option( 'digital_journal_setting', 'true' );
  69.  
  70. if ( 'true' === $journal ) {
  71.  
  72. // Remove the default Genesis loop.
  73. remove_action( 'genesis_loop', 'genesis_do_loop' );
  74.  
  75. // Add opening markup for blog section.
  76. add_action( 'genesis_before_loop', 'digital_front_page_blog_open' );
  77.  
  78. // Add closing markup for blog section.
  79. add_action( 'genesis_after_loop', 'digital_front_page_blog_close' );
  80.  
  81. } else {
  82.  
  83. // Remove the default Genesis loop.
  84. remove_action( 'genesis_loop', 'genesis_do_loop' );
  85.  
  86. // Add front-page-loop body class.
  87. add_filter( 'body_class', 'digital_loop_body_class' );
  88.  
  89. }
  90.  
  91. }
  92.  
  93. }
  94.  
  95. // Add front-page body class.
  96. function digital_body_class( $classes ) {
  97.  
  98. $classes[] = 'front-page';
  99.  
  100. return $classes;
  101.  
  102. }
  103.  
  104. // Add front-page-loop body class.
  105. function digital_loop_body_class( $classes ) {
  106.  
  107. $classes[] = 'front-page-loop';
  108.  
  109. return $classes;
  110.  
  111. }
  112.  
  113. // Add widgets on front page.
  114. function digital_front_page_widgets() {
  115.  
  116. if ( get_query_var( 'paged' ) >= 2 ) {
  117. return;
  118. }
  119.  
  120. echo '<h2 class="screen-reader-text">' . __( 'Main Content', 'digital-pro' ) . '</h2>';
  121.  
  122. genesis_widget_area( 'front-page-1', array(
  123. 'before' => '<div id="front-page-1" class="front-page-1"><div class="widget-area fadeup-effect"><div class="wrap">',
  124. 'after' => '</div></div></div>',
  125. ) );
  126.  
  127. genesis_widget_area( 'front-page-2', array(
  128. 'before' => '<div id="front-page-2" class="front-page-2"><div class="wrap"><div class="flexible-widgets widget-area fadeup-effect' . digital_halves_widget_area_class( 'front-page-2' ) . '">',
  129. 'after' => '</div></div></div>',
  130. ) );
  131.  
  132. genesis_widget_area( 'front-page-3', array(
  133. 'before' => '<div id="front-page-3" class="front-page-3"><div class="wrap"><div class="flexible-widgets widget-area fadeup-effect' . digital_widget_area_class( 'front-page-3' ) . '">',
  134. 'after' => '</div></div></div>',
  135. ) );
  136.  
  137. }
  138.  
  139. // Add opening markup for blog section.
  140. function digital_front_page_blog_open() {
  141.  
  142. $journal_text = get_option( 'digital_journal_text', __( 'Our Journal', 'digital-pro' ) );
  143.  
  144. // if ( 'posts' == get_option( 'show_on_front' ) ) {
  145.  
  146. echo '<div id="journal" class="widget-area fadeup-effect"><div class="wrap">';
  147.  
  148. if ( ! empty( $journal_text ) ) {
  149.  
  150. echo '<h2 class="widgettitle widget-title center">' . $journal_text . '</h2>';
  151.  
  152. }
  153.  
  154. $args = array(
  155. 'posts_per_page' => '3',
  156. 'no_found_rows' => true,
  157. );
  158.  
  159. genesis_custom_loop( wp_parse_args( $args ) );
  160.  
  161. printf( '<div class="pagination"><a href="%s">%s</a></div>',
  162. get_permalink( get_option( 'page_for_posts' ) ),
  163. __( 'Our Journal »', 'digital-pro' )
  164. );
  165.  
  166. // }
  167.  
  168. }
  169.  
  170. // Add closing markup for blog section.
  171. function digital_front_page_blog_close() {
  172.  
  173. // if ( 'posts' == get_option( 'show_on_front' ) ) {
  174.  
  175. echo '</div></div>';
  176.  
  177. // }
  178.  
  179. }
  180.  
  181. // Run the Genesis loop.
  182. genesis();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement