自定义帖子类型下一个/上一个链接?

时间:2011-10-19 作者:AndrettiMilas

我有一个自定义的帖子类型叫做公文包。我需要一个没有插件的上一个/下一个链接。有人有办法吗?

示例帖子: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(); ?>

3 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

如果你需要单篇文章的下一个/上一个链接,有内置的next_post_link 功能和匹配previous_post_link, 这两者都应该在循环中使用。

对于存档,使用next_posts_linkprevious_posts_link.

所有这些都可以很好地用于自定义帖子类型。

SO网友:user25225
<?php
$prev_post = get_previous_post();
if($prev_post) {
   $prev_title = strip_tags(str_replace(\'"\', \'\', $prev_post->post_title));
   echo "\\t" . \'<a rel="prev" href="\' . get_permalink($prev_post->ID) . \'" title="\' . $prev_title. \'" class=" ">&laquo; Previous post<br /><strong>&quot;\'. $prev_title . \'&quot;</strong></a>\' . "\\n";
}

$next_post = get_next_post();
if($next_post) {
   $next_title = strip_tags(str_replace(\'"\', \'\', $next_post->post_title));
   echo "\\t" . \'<a rel="next" href="\' . get_permalink($next_post->ID) . \'" title="\' . $next_title. \'" class=" ">Next post &raquo;<br /><strong>&quot;\'. $next_title . \'&quot;</strong></a>\' . "\\n";
}
?>
SO网友:James

您可以使用get_adjacent_post 获取循环中的上一个或下一个post对象。

您可以将第三个参数更改为true或false以获取下一个或上一个post对象。get_adjacent_post( false, \'\', true);

有了这些知识,我们可以使用get_the_permalink 获取帖子的URL并创建自己的链接,而无需去除Wordpress在其他方法中添加的任何垃圾。

如果您希望自己设置超链接的样式并完全控制格式,则此方法非常有用。

<?php
    $next_post = get_adjacent_post( false, \'\', false);
    $next_post_url = get_the_permalink($next_post);

    $previous_post = get_adjacent_post( false, \'\', true);
    $previous_post_url = get_the_permalink($previous_post);
?>

<a href="<?php echo $next_post_url;?>">Next post</a>
<a href="<?php echo $previous_post_url;?>">Previous post</a>

结束

相关推荐