Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I need to display the "sticky" post in a section that is outside the "loop".

Can someone tell me how to do this?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

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.. :)

share|improve this answer
1  
Fine as for stickies, but 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).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.