最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

previous_post_link() and next_post_link() with a custom post type?

programmeradmin1浏览0评论

I'm on single-work.php for a custom post type called work, inside the loop.

Trying to make two links to the previous and next post.

Using this code:

<?php previous_post_link(); ?>

and

<?php next_post_link(); ?>

But nothing shows up. Am I missing something

Here is my code, very straightforward:

<?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(); ?>

I'm on single-work.php for a custom post type called work, inside the loop.

Trying to make two links to the previous and next post.

Using this code:

<?php previous_post_link(); ?>

and

<?php next_post_link(); ?>

But nothing shows up. Am I missing something

Here is my code, very straightforward:

<?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(); ?>
Share Improve this question edited Dec 13, 2012 at 20:58 wesbos asked Dec 13, 2012 at 20:47 wesboswesbos 2432 gold badges5 silver badges10 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 4

What I see in your code is that your next post and previous post codes are appearing within the while loop which shouldn't be within the loop and it should appear like this:

<?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(); ?>

Or, you can find it in detail here.

In the above post I found numeric pagination but still it have explained how exactly the pagination works, which is in great detail.

Read the documentation.

This function will not work (fail silently) if mysql.trace_mode is enabled in your php.ini. If you can't edit that file, try adding

ini_set( 'mysql.trace_mode', 0 );

to your theme's functions.php.

That might solve your problem, it did for me.

The functions are right; set the params

<?php next_post_link('%link', 'Next post »'); ?>

<?php next_post_link('%link', 'Next post »'); ?>

Well, without seeing any of your code, it's hard to say why. Are there any PHP errors or warnings?

Update

A small example

<?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 ?>
发布评论

评论列表(0)

  1. 暂无评论