Je suis sur single-work.php
pour un type d'article personnalisé appelé work
, à l'intérieur de la boucle.
Essayer de faire deux liens vers le post précédent et suivant.
En utilisant ce code:
<?php previous_post_link(); ?>
et
<?php next_post_link(); ?>
Mais rien ne se présente. Est-ce que je manque quelque chose
Voici mon code, très simple:
<?php get_header(); ?>
<div class="full" >
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php next_post_link('%link', 'Next post »'); ?>
<?php next_post_link('%link', 'Next post »'); ?>
<?php endwhile; // end of the loop. ?>
</div><!--/full-->
<?php get_footer(); ?>
Ce que je vois dans votre code, c'est que votre prochain article et vos précédents articles apparaissent dans la boucle while, ce qui ne devrait pas être dans la boucle et devrait ressembler à ceci:
<?php get_header(); ?>
<div class="full" >
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php endwhile; // end of the loop. ?>
<?php next_post_link('%link', 'Next post »'); ?>
<?php next_post_link('%link', 'Next post »'); ?>
</div><!--/full-->
<?php get_footer(); ?>
Ou, vous pouvez le trouver en détail ici .
Dans le post ci-dessus, j'ai trouvé une pagination numérique, mais cela explique tout de même le fonctionnement exact de la pagination, ce qui est très détaillé.
Les fonctions sont justes; définir les paramètres
<?php next_post_link('%link', 'Next post »'); ?>
<?php next_post_link('%link', 'Next post »'); ?>
Eh bien, sans voir votre code, il est difficile de dire pourquoi. Y a-t-il des erreurs ou des avertissements PHP?
Mettre à jour
Un petit exemple
<?php query_posts( array( 'post_type' => 'page', 'post_status' => 'publish' ) ) ?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<!-- do stuff -->
<div id="nav-single">
<div class="left"><?php previous_post_link(); ?></div>
<div class="right"><?php next_post_link(); ?></div>
</div>
<?php endwhile; // end of the loop. ?>
<?php wp_reset_query(); ?>
<?php else : ?>
<!-- do other stuff here -->
<?php endif ?>
Lisez la documentation .
Cette fonction ne fonctionnera pas (échouera silencieusement) si mysql.trace_mode est activé dans votre php.ini. Si vous ne pouvez pas éditer ce fichier, essayez d'ajouter
ini_set( 'mysql.trace_mode', 0 ); to your theme's functions.php.
Cela pourrait résoudre votre problème, il l'a fait pour moi.