Advertisement
Guest User

Responsive functions.php

a guest
Mar 8th, 2013
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. <?php
  2.  
  3. function my_post_queries( $query ) {
  4.  
  5. // not an admin page and it is the main query
  6.  
  7. if (!is_admin() && $query->is_main_query()){
  8.  
  9. // query for the home page
  10.  
  11. if(is_home()){
  12.  
  13. $first_page_total= 9; // total number of posts on first page
  14.  
  15. $paginated_total = 10; // total number of posts on paginated pages
  16.  
  17. $posts_to_skip = $paginated_total - $first_page_total;
  18.  
  19.  
  20. // pagination for custom page(s)
  21.  
  22. if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
  23.  
  24. elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
  25.  
  26. else { $paged = 1; }
  27.  
  28.  
  29. // page query args
  30.  
  31.  
  32. $query->set('posts_per_page', $first_page_total);
  33.  
  34. $query->set('post__not_in', get_option( 'sticky_posts' ));
  35.  
  36.  
  37. if(is_paged()) {
  38.  
  39.  
  40. // paginated query args
  41.  
  42. $offset = (($paged - 1) * $paginated_total)- $posts_to_skip;
  43.  
  44. $query->set('offset', $offset);
  45.  
  46. $query->set('posts_per_page', $paginated_total);
  47.  
  48. }
  49.  
  50.  
  51.  
  52. }
  53.  
  54.  
  55. }
  56.  
  57.  
  58. }
  59.  
  60. add_action( 'pre_get_posts', 'my_post_queries' );
  61.  
  62. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement