I need to display the "sticky" post in a section that is outside the "loop".
Can someone tell me how to do this?
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It only takes a minute to sign up.
Sign up to join this communityI need to display the "sticky" post in a section that is outside the "loop".
Can someone tell me how to do this?
I am using this query;
<?php
$sticky = get_option( 'sticky_posts' ); // Get all sticky posts
rsort( $sticky ); // Sort the stickies, latest first
$sticky = array_slice( $sticky, 0, 1 ); // Number of stickies to show
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) ); // The query
if (have_posts() ) { while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php endwhile;?>
<?php } else { echo ""; }?>
Hope it works for you too.. :)
query_posts()
should not be used for secondary loops. get_posts()
or new WP_Query
should be used.
– Rarst
Jan 21 '11 at 6:00
$last_sticky_post = get_post(end(get_option('sticky_posts')));
if(!empty($last_sticky_post)):
setup_postdata($last_sticky_post);
the_title(); // standard loop here...
the_content();
endif;
(this gets a single post)
use get_posts() with the 'include' => implode(',', get_option('sticky_posts'))
argument to get all sticky posts (Martin's solution without array_slice will do the same).