I have a custom post type called portfolio. I need a previous/next link WITHOUT a plugin. Anybody have a solution?
Example post:
http://themeforward.com/demo2/archives/portfolio/boat
<?php get_header(); ?>
<!-- Begin wrap -->
<div class="clear">
<div id="full_container">
<div id="content2">
<div id="content">
<!-- Grab posts -->
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<!-- Post title -->
<h1>
<?php the_title(); ?>
</h1>
<!-- The post -->
<?php the_content(); ?>
<!-- Tags -->
<h3 class="tags">
<?php the_tags('Tags ',' / ','<br />'); ?>
</h3>
<!-- End wrap -->
</div>
<!-- Next/Previous Posts -->
<div class="mp_archive2">
<div id="more_posts">
<div class="oe">
<?php previous_post_link('%link', '« Previous post', TRUE); ?>
</div>
<div class="re">
<?php next_post_link('%link', 'Next post »', TRUE); ?>
</div>
</div>
</div>
<?php endwhile; else: ?>
<p>No matching entries found.</p>
<?php endif; ?>
</div>
</div>
</div>
</div>
<?php get_footer(); ?>
If you need next/previous links for single posts, there is the built in
next_post_link
function and matchingprevious_post_link
, both of which should probably be used within the loop.For archives, use
next_posts_link
andprevious_posts_link
.All of these will work fine with custom post types.
You can use
get_adjacent_post
to get the previous or next post object in the loop.You can change the third parameter to true or false to get the next or previous post object.
get_adjacent_post( false, '', true);
With this knowledge we can use
get_the_permalink
to get the URL of the posts and create your own links, without needing to strip any junk that WordPress adds in the other methods.This method is most useful if you want to style the hyperlinks yourself and have full control over the formatting.