web-dev-qa-db-fra.com

next_post_link () ne fonctionne pas pour un seul type de message personnalisé

Je ne peux pas pour la vie obtenir que cela fonctionne - ceci est le code dans mon single-osu_work.php fichier qui est utilisé pour ce type d'article, mais je ne peux pas obtenir les liens d'article précédent et précédent. apparaître - pouvez-vous voir un problème? J'ai essayé de mettre les liens de pagination dans la boucle, mais toujours rien.

Merci,

Osu

if (have_posts()) : while (have_posts()) : the_post(); ?>
    <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
        <h1 id="mainheading"><?php the_title(); ?></h1>
        <?php the_content(); ?>
        <footer class="postmetadata">Date: <?php the_date('Y'); ?></footer>
    </article>
    <?php endwhile;
else : ?>
    <article id="nada">
        <h2 id="mainheading">Nothing found</h2>
        <p>Apologies, but you've come across a page that can't be found.</p>
        <p>Please use the search function or continue browsing.</p>
        <?php echo get_search_form(); ?>
    </article>  
<?php endif; ?>

    <div class="next-posts"><?php next_post_link('%link', 'Newer entry &gt;', true) ?></div>
    <div class="prev-posts"><?php previous_post_link('%link', '&lt; Older entry', true) ?></div>
    <div class="clear">&nbsp;</div>
6
Osu

Ok, j’ai trouvé la solution en ce qui concerne l’affichage des liens. Cependant, j’avais besoin de supprimer l’argument "vrai" selon lequel il fallait se déplacer uniquement entre les publications de la même catégorie/taxonomie.

Est-ce vrai que vous ne pouvez pas restreindre les posts liés à ce qu'ils ne sont que ceux de la même taxonomie? Voici le code correct et, comme le dit vancoder, il doit apparaître dans la boucle (je l'ai placé juste avant le endwhile;):

<div class="next-posts"><?php next_post_link('%link', 'Newer entry &gt;') ?></div>
<div class="prev-posts"><?php previous_post_link('%link', '&lt; Older entry') ?></div>

S'agissant d'un type de message personnalisé avec une taxonomie personnalisée, je suppose que la pagination est en train de se rompre car Wordpress recherche une "catégorie" comme s'il s'agissait de messages normaux? Existe-t-il un moyen de faire en sorte que seuls les postes de travail de ma taxonomie personnalisée soient renvoyés?

9
Osu

À partir de WordPress 3.8, vous pouvez spécifier une taxonomie comme cinquième paramètre. Dans votre cas, ce serait quelque chose comme:

<?php previous_post_link( '%link', __( 'Older Entry &gt;', 'sometextdomain' ), true, '', 'somecustomtaxonomy' ); ?>
<?php next_post_link( '%link', __( 'Newer Entry &gt;', 'sometextdomain' ), true, '', 'somecustomtaxonomy' ); ?>

Consultez le Codex pour plus d’informations http://codex.wordpress.org/Function_Reference/previous_post_link

2
Elliot

Assurez-vous que vous avez passé un appel custom wp_query avant l'appel next_post_link()/previous_post_link() et que la requête n'a pas été réinitialisée.

Dans ce cas, veuillez utiliser wp_reset_query après l'utilisation de wp_query personnalisé.

0
Chiranjib Khanra