Advertisement
srikat

Untitled

Nov 12th, 2016
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.04 KB | None | 0 0
  1. <?php
  2. /**
  3. * Infinity Pro.
  4. *
  5. * This file adds the front page to the Infinity Pro Theme.
  6. *
  7. * @package Infinity
  8. * @author StudioPress
  9. * @license GPL-2.0+
  10. * @link http://my.studiopress.com/themes/infinity/
  11. */
  12.  
  13. add_action( 'genesis_meta', 'infinity_front_page_genesis_meta' );
  14. /**
  15. * Add widget support for homepage. If no widgets active, display the default loop.
  16. *
  17. */
  18. function infinity_front_page_genesis_meta() {
  19.  
  20. if ( is_active_sidebar( 'front-page-1' ) || is_active_sidebar( 'front-page-2' ) || is_active_sidebar( 'front-page-3' ) || is_active_sidebar( 'front-page-4' ) || is_active_sidebar( 'front-page-5' ) || is_active_sidebar( 'front-page-6' ) || is_active_sidebar( 'front-page-7' ) ) {
  21.  
  22. //* Enqueue scripts
  23. add_action( 'wp_enqueue_scripts', 'infinity_enqueue_front_script_styles', 1 );
  24. function infinity_enqueue_front_script_styles() {
  25.  
  26. wp_enqueue_script( 'infinity-front-scripts', get_stylesheet_directory_uri() . '/js/front-page.js', array( 'jquery' ), '1.0.0', true );
  27.  
  28. wp_enqueue_style( 'infinity-front-styles', get_stylesheet_directory_uri() . '/style-front.css' );
  29.  
  30. }
  31.  
  32. //* Add front-page body class
  33. add_filter( 'body_class', 'infinity_body_class' );
  34. function infinity_body_class( $classes ) {
  35.  
  36. $classes[] = 'front-page';
  37.  
  38. return $classes;
  39.  
  40. }
  41.  
  42. //* Force full width content layout
  43. add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' );
  44.  
  45. //* Remove breadcrumbs
  46. remove_action( 'genesis_before_loop', 'genesis_do_breadcrumbs' );
  47.  
  48. //* Remove the default Genesis loop
  49. remove_action( 'genesis_loop', 'genesis_do_loop' );
  50.  
  51. //* Remove site footer widgets
  52. remove_theme_support( 'genesis-footer-widgets' );
  53.  
  54. //* Add front page widgets
  55. add_action( 'genesis_loop', 'infinity_front_page_widgets' );
  56.  
  57. }
  58.  
  59. if ( function_exists( 'soliloquy' ) ) { // if Soliloquy is active
  60. // store the reference of Front Page 1 slider object variable
  61. $front_page_1_slider = get_page_by_path( 'front-page-1', OBJECT, 'soliloquy' );
  62. }
  63.  
  64. if ( is_active_sidebar( 'front-page-1' ) && $front_page_1_slider ) {
  65. // enqueue scripts for backstretch
  66. wp_enqueue_script( 'backstretch', get_stylesheet_directory_uri() . '/js/jquery.backstretch.min.js', array( 'jquery' ), '2.0.4', true );
  67. wp_enqueue_script( 'backstretch-set', get_stylesheet_directory_uri() . '/js/backstretch-set.js' , array( 'backstretch' ), '1.0.0', true );
  68.  
  69. // "display" Front Page 1 slider - i.e., get the array of URLs of slide images using the soliloquy_output filter used earlier and store it in a variable
  70. $slide_image_urls = soliloquy( 'front-page-1', 'slug', array(), true );
  71.  
  72. // pass an array named "BackStretchImg" to the JS file loaded by "backstretch-set" handle i.e., to backstretch-set.js. We are setting "src" key of this array to the above array variable
  73. wp_localize_script( 'backstretch-set', 'BackStretchImg', array( 'src' => $slide_image_urls ) );
  74. }
  75.  
  76. }
  77.  
  78. //* Add markup for front page widgets
  79. function infinity_front_page_widgets() {
  80.  
  81. echo '<h2 class="screen-reader-text">' . __( 'Main Content', 'infinity' ) . '</h2>';
  82.  
  83. genesis_widget_area( 'front-page-1', array(
  84. 'before' => '<div id="front-page-1" class="front-page-1"><div class="image-section widget-area fadeup-effect"><div class="wrap">',
  85. 'after' => '</div></div></div>',
  86. ) );
  87.  
  88. genesis_widget_area( 'front-page-2', array(
  89. 'before' => '<div id="front-page-2" class="front-page-2"><div class="solid-section flexible-widgets widget-area fadeup-effect' . infinity_widget_area_class( 'front-page-2' ) . '"><div class="wrap">',
  90. 'after' => '</div></div></div>',
  91. ) );
  92.  
  93. genesis_widget_area( 'front-page-3', array(
  94. 'before' => '<div id="front-page-3" class="front-page-3"><div class="image-section flexible-widgets widget-area fadeup-effect' . infinity_widget_area_class( 'front-page-3' ) . '"><div class="wrap">',
  95. 'after' => '</div></div></div>',
  96. ) );
  97.  
  98. genesis_widget_area( 'front-page-4', array(
  99. 'before' => '<div id="front-page-4" class="front-page-4"><div class="solid-section flexible-widgets widget-area fadeup-effect' . infinity_widget_area_class( 'front-page-4' ) . '"><div class="wrap">',
  100. 'after' => '</div></div></div>',
  101. ) );
  102.  
  103. genesis_widget_area( 'front-page-5', array(
  104. 'before' => '<div id="front-page-5" class="front-page-5"><div class="image-section flexible-widgets widget-area fadeup-effect' . infinity_widget_area_class( 'front-page-5' ) . '"><div class="wrap">',
  105. 'after' => '</div></div></div>',
  106. ) );
  107.  
  108. //* Add entry-title filter
  109. add_filter( 'genesis_featured_page_title', 'infinity_title' );
  110.  
  111. //* Add team-member class
  112. add_filter( 'genesis_attr_entry', 'infinity_widget_entry_open' );
  113.  
  114. genesis_widget_area( 'front-page-6', array(
  115. 'before' => '<div id="front-page-6" class="front-page-6"><div class="solid-section flexible-widgets widget-area fadeup-effect' . infinity_widget_area_class( 'front-page-6' ) . '"><div class="wrap">',
  116. 'after' => '</div></div></div>',
  117. ) );
  118.  
  119. //* Remove entry-title filter
  120. add_filter( 'genesis_featured_page_title', 'infinity_title' );
  121.  
  122. //* Remove team-member class
  123. remove_filter( 'genesis_attr_entry', 'infinity_widget_entry_open' );
  124.  
  125. genesis_widget_area( 'front-page-7', array(
  126. 'before' => '<div id="front-page-7" class="front-page-7"><div class="image-section flexible-widgets widget-area fadeup-effect' . infinity_widget_area_class( 'front-page-7' ) . '"><div class="wrap">',
  127. 'after' => '</div></div></div>',
  128. ) );
  129.  
  130. }
  131.  
  132. //* Modify the entry title text
  133. function infinity_title( $title ) {
  134.  
  135. if ( genesis_get_custom_field( 'team_title' ) ) {
  136. $title = '<span class="team-name">' . $title . '</span><span class="team-title">' . genesis_get_custom_field( 'team_title' ) . '</span>';
  137. } else {
  138. $title = '<span class="team-name">' . $title . '</span>';
  139. }
  140.  
  141. return $title;
  142.  
  143. }
  144.  
  145. //* Modify featred page entry classes
  146. function infinity_widget_entry_open( $attributes ) {
  147.  
  148. if( is_page() ) {
  149. $attributes['class'] = $attributes['class'] . ' ' . 'team-member';
  150. }
  151.  
  152. return $attributes;
  153.  
  154. }
  155.  
  156. //* Run the Genesis loop
  157. genesis();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement