Skip to content

Instantly share code, notes, and snippets.

@ernilambar
Last active January 29, 2016 06:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ernilambar/cd454effaad9d3db35e1 to your computer and use it in GitHub Desktop.
Save ernilambar/cd454effaad9d3db35e1 to your computer and use it in GitHub Desktop.
Alternative WordPress Loop Example
<?php
$custom_query_args = array(
'post_type' => 'post',
);
// Get current page and append to custom query parameters array
$custom_query_args['paged'] = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$custom_query = new WP_Query( $custom_query_args ); ?>
<?php
// Pagination fix
global $wp_query;
$temp_query = $wp_query;
$wp_query = NULL;
$wp_query = $custom_query;
?>
<?php if ( $custom_query->have_posts() ) : ?>
<!-- the loop -->
<?php while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<?php endwhile; ?>
<!-- end of the loop -->
<!-- pagination here -->
<?php
// Custom query loop pagination
// previous_posts_link( 'Older Posts' );
// next_posts_link( 'Newer Posts', $custom_query->max_num_pages );
?>
<?php else: ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
<?php
// Reset postdata
wp_reset_postdata();
?>
<?php
// Reset main query object
$wp_query = NULL;
$wp_query = $temp_query;
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment