Skip to content

Instantly share code, notes, and snippets.

@chrisguitarguy
Created February 7, 2012 02:07
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save chrisguitarguy/1756628 to your computer and use it in GitHub Desktop.
Show only your latest post on your WordPress site's home page.
<?php
/*
Plugin Name: One Post Home
Description: Show only your latest post on the home page
Author: Christopher Davis
Author URI: http://www.christopherguitar.me
License: GPL2
*/
add_filter( 'parse_query', 'wpse41420_one_post' );
/**
* Modifies the $wp_query object when in parses the query variables
* this avoids having to use query_posts and modifies things before they
* get sent to the DB.
*
* @uses is_main_query to make sure we screw up any other wp_query objects
* @uses is_home to see if this is the main blog page
*/
function wpse41420_one_post( $query )
{
// make sure we're modifying the main query on the home page
if( ! $query->is_main_query() || ! is_home() ) return;
// Set up one post per page
$query->query_vars['posts_per_page'] = 1;
// ignore stick posts
$query->query_vars['ignore_sticky_posts'] = 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment