Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # # # # # # # # # # style.css
- /*
- Theme Name: Twenty Twelve Sticky New
- Template: twentytwelve
- */
- @import url("../twentytwelve/style.css");
- # # # # # # # # # # index.php
- <?php get_header(); ?>
- <div id="primary" class="site-content">
- <div id="content" role="main">
- <?php
- // don't edit this
- global $wp_query;
- $first_page_total= 9; // total number of posts on first page
- $paginated_total = 10;
- $found_posts = $wp_query->found_posts;
- $pages = 1 + ceil(($found_posts - $first_page_total) / $paginated_total);
- $wp_query->max_num_pages = $pages;
- // start editing
- ?>
- <?php if ( have_posts() ) : ?>
- <?php /* Start the Loop */ ?>
- <?php while ( have_posts() ) : the_post(); ?>
- <?php get_template_part( 'content', get_post_format() ); ?>
- <?php endwhile; ?>
- <?php if(!is_paged()) : ?>
- <?php
- $sticky = get_option( 'sticky_posts' );
- $args = array(
- 'posts_per_page' => 1,
- 'post__in' => $sticky,
- 'ignore_sticky_posts' => 1
- );
- $the_query = new WP_Query( $args); ?>
- <?php /* Start the sticky post loop */ ?>
- <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
- <?php
- if ( $sticky[0] ) {
- get_template_part( 'content', get_post_format() );
- }
- ?>
- <?php endwhile; ?>
- <?php endif; ?>
- <?php twentytwelve_content_nav( 'nav-below' ); ?>
- <?php else : ?>
- <article id="post-0" class="post no-results not-found">
- <?php if ( current_user_can( 'edit_posts' ) ) :
- // Show a different message to a logged-in user who can add posts.
- ?>
- <header class="entry-header">
- <h1 class="entry-title"><?php _e( 'No posts to display', 'twentytwelve' ); ?></h1>
- </header>
- <div class="entry-content">
- <p><?php printf( __( 'Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwelve' ), admin_url( 'post-new.php' ) ); ?></p>
- </div><!-- .entry-content -->
- <?php else :
- // Show the default message to everyone else.
- ?>
- <header class="entry-header">
- <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentytwelve' ); ?></h1>
- </header>
- <div class="entry-content">
- <p><?php _e( 'Apologies, but no results were found. Perhaps searching will help find a related post.', 'twentytwelve' ); ?></p>
- <?php get_search_form(); ?>
- </div><!-- .entry-content -->
- <?php endif; // end current_user_can() check ?>
- </article><!-- #post-0 -->
- <?php endif; // end have_posts() check ?>
- </div><!-- #content -->
- </div><!-- #primary -->
- <?php get_sidebar(); ?>
- <?php get_footer(); ?>
- # # # # # # # # # # functions.php
- <?php
- function my_post_queries( $query ) {
- // not an admin page and it is the main query
- if (!is_admin() && $query->is_main_query()){
- // query for the home page
- if(is_home()){
- $first_page_total= 9; // total number of posts on first page
- $paginated_total = 10; // total number of posts on paginated pages
- $posts_to_skip = $paginated_total - $first_page_total;
- // pagination for custom page(s)
- if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
- elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
- else { $paged = 1; }
- // page query args
- $query->set('posts_per_page', $first_page_total);
- $query->set('post__not_in', get_option( 'sticky_posts' ));
- if(is_paged()) {
- // paginated query args
- $offset = (($paged - 1) * $paginated_total)- $posts_to_skip;
- $query->set('offset', $offset);
- $query->set('posts_per_page', $paginated_total);
- }
- }
- }
- }
- add_action( 'pre_get_posts', 'my_post_queries' );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement