Show all sticky posts, WITH pagination

Based on this post, i did this test and go it working:

$sticky = get_option( 'sticky_posts' );
$ppp = get_option('posts_per_page');

if (!is_paged()) {
    $custom_offset = 0;
} else {
    $custom_offset = $ppp*($paged-1);
}

$args = array(
    'numberposts' => $ppp,
    'offset' => $custom_offset,
    'post__in' => $sticky 
);

$posts_data = get_posts( $args );
$pd = count( $posts_data );

if ( count( $posts_data ) > 0 ) {
    echo '<ul>';
    foreach ( $posts_data as $post ) {
        echo '<li><a href="'.get_permalink( $post->ID ).'">'.$post->post_title.'</a></li>';
    }
    echo '</ul>';
} 

if ( $pd != 1 ) { next_posts_link( __( '<span class="meta-nav">&laquo;</span> P&aacute;gina anterior ', 'twentyten' ) ); }
previous_posts_link( __( 'Pr&oacute;xima p&aacute;gina <span class="meta-nav">&raquo;</span>', 'twentyten' ) );

I tested it with the reading parameter set to 2 and 4 and it seems ok. See if it suits your needs.

Leave a Comment