public
Created

Show only your latest post on your WordPress site's home page.

  • Download Gist
one-page-home.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
<?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;
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.