Exemplo n.º 1
0
 /**
  * If the current view is using the Homepage template, modify Infinite Scroll's
  * 'posts_per_page' setting.
  *
  * Since this theme is using the 'click' type of Infinite Scroll, the 'posts_per_page'
  * setting gets overridden and set to the value of get_option( 'posts_per_page' ). This
  * is then cached before $wp_query gets set up, making it hard to programatically determine
  * if the current view needs a different value or not. This action, which gets fired after
  * $wp_query is set up, determines if we're looking at the Homepage template, and if so it
  * forces the The_Neverending_Home_Page object property for posts_per_page to accept
  * a different value.
  *
  * @since 1.0.
  *
  */
 function oxford_infinite_scroll_template_redirect()
 {
     if (is_page() && 'homepage.php' === get_page_template_slug()) {
         $posts_per_page = oxford_homepage()->query->query_vars['posts_per_page'];
         if (class_exists('The_Neverending_Home_Page')) {
             The_Neverending_Home_Page::$settings['posts_per_page'] = $posts_per_page;
         } else {
             Oxford_Neverending_Home_Page::$settings['posts_per_page'] = $posts_per_page;
         }
     }
 }
Exemplo n.º 2
0
?>
</h3>

		<?php 
if (oxford_homepage()->query->have_posts()) {
    $posts_template = oxford_homepage()->query->post_count < 4 ? 'posts-few' : 'posts-many';
    ?>
		<div id="<?php 
    echo $posts_template;
    ?>
">
			<?php 
    // Add flag to prevent widget area from loading again
    add_filter('oxford_loading_more_posts', '__return_true');
    while (oxford_homepage()->query->have_posts()) {
        oxford_homepage()->query->the_post();
        ?>
				<?php 
        get_template_part('content', $posts_template);
        ?>
			<?php 
    }
    wp_reset_postdata();
    // Remove flag
    remove_all_filters('oxford_loading_more_posts');
    ?>
		</div>
		<?php 
}
?>