J'utilise le code suivant pour afficher un message dans une page (le nombre de pages de blog montrant au plus est défini sur 1 message):
<?php
/**
* Template Name: Front Page
* @package WordPress
* @subpackage Prominent
* @since Prominent 1.0
*/
get_header(); ?>
<div id="tagline">
<div class="container">
</div><!-- .container -->
</div><!-- #tagline -->
<div id="content">
<div class="container">
<div id="mainbar">
<?php while ( have_posts() ) : the_post(); ?>
<div class="content-block-2">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<?php next_posts_link( __( '← Older posts', 'twentyten' ) ); ?>
<?php previous_posts_link( __( 'Newer posts →', 'twentyten' ) ); ?>
<?php endif; ?>
</div><!-- #mainbar -->
</div><!-- .container -->
</div><!-- #content-bottom -->
<?php get_footer(); ?>
Alors maintenant, j'ai un lien précédent et suivant dans ma page d'accueil. Je voudrais savoir s'il est possible d'ajouter un lien vers les premier et dernier messages?
EDIT:
Par premiers et derniers messages, je veux dire, par exemple,
Comme je n'autorise qu'un post par page, un seul post sera affiché.
Je voudrais un lien pour le post 1 et 8 dans l'exemple ci-dessous:
1 2 3 4 5 6 7 8
Ce dont vous avez besoin, c'est $GLOBALS['wp_query']->max_num_pages
et get_pagenum_link()
. Ensuite, il vous suffit de comparer get_query_var( 'paged' )
avec max_num_pages
et de créer un lien s’ils ne sont pas égaux:
/**
* Link to last page of a paged archive.
*
* @param string $text Link text
* @return string Nothing if we are on the last page, a link otherwise.
*/
function t5_get_last_posts_link( $text = 'Last Posts' )
{
global $wp_query;
if ( // something is very wrong
! isset ( $wp_query->max_num_pages )
// there is just one page
or 1 == $last = $wp_query->max_num_pages
// we are already on the last page
or get_query_var( 'paged' ) == $last
)
{
return '';
}
return sprintf( '<a href="%1$s">%2$s</a>', get_pagenum_link( $last ), $text );
}
/**
* Link to the first page of a paged archive.
*
* @param string $text Link text
* @return string Nothing if we are on the first page, a link otherwise.
*/
function t5_get_first_posts_link( $text = 'First Posts' )
{
global $wp_query;
if ( // something is very wrong
! isset ( $wp_query->max_num_pages )
// there is just one page
or 1 == $wp_query->max_num_pages
// we are already on the first page
or 2 > (int) get_query_var( 'paged' )
)
{
return '';
}
return sprintf( '<a href="%1$s">%2$s</a>', get_pagenum_link( 1 ), $text );
}
print t5_get_first_posts_link( 'Newest' );
print t5_get_last_posts_link( 'Oldest' );
Il semble que vous ayez besoin de "pagination". Installez le plugin WP-PageNavi et ajoutez-le dans votre fichier de modèle (index.php, archive. php, etc. - selon ce qui est pertinent):
<?php wp_pagenavi(); ?>
Les paramètres du plugin sont explicites. (CONSEIL! %PAGE_NUMBER%
)