If you schedule posts in your blog in advance and want to show your readers what’s coming next, here’s a snippet to display scheduled posts in WordPress. You will also get more viewers with this trick as your visitors will know when to come back for the next post. Here are two ways of doing it:
Add following PHP snippet to your page to display all your future posts:
<ul> <?php $my_query = new WP_Query('post_status=future&order=DESC&showposts=10'); if ($my_query->have_posts()) { while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; ?> <li><?php the_title(); ?></li> <?php endwhile; } ?> </ul>
We can also use this trick with a simple shortcode. Add following code to your current theme’s functions.php file:
function future_posts_function($atts){ extract(shortcode_atts(array( 'poststatus' => 'future', 'order' => 'DESC', 'showposts' => 10, ), $atts)); $return_string = '<ul>'; query_posts(array('post_status' => $poststatus, 'order' => $order, 'showposts' => $showposts)); if (have_posts()) : while (have_posts()) : the_post(); $return_string .= '<li>'.get_the_title().'</li>'; endwhile; endif; $return_string .= '</ul>'; wp_reset_query(); return $return_string; } add_shortcode('future_posts', 'future_posts_function');
Now, use [scheduled_posts] shortcode to display scheduled posts in your WordPress posts, pages or even in widgets.