使下一个帖子按钮链接到随机帖子

时间:2014-01-12 作者:elvismdev

此代码的正常行为是按id顺序移动到下一篇文章。需要更改此上升顺序以改为随机发布(已发布)。

<div class="navigation">
        <?php if (!empty($prevID)) { ?>
        <div class="alignleft">
            <a href="<?php echo get_permalink($prevID); ?>"
                title="<?php echo get_the_title($prevID); ?>">Previous</a>
            </div>
            <?php }
            if (!empty($nextID)) { ?>
            <div class="alignright">
                <a href="<?php echo get_permalink($nextID); ?>"
                    title="<?php echo get_the_title($nextID); ?>">Next</a>
                </div>
                <?php } ?>
            </div>

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

您发布的代码只会显示。您需要更改的代码是正在创建的代码$prevID$nextID, 但这可能并不完全相关。

基本上,你只需要抓取一个随机的帖子。

$rl = new WP_Query(
  array(
    \'posts_per_page\' => 1,
    \'orderby\' => \'rand\',
    \'fields\' => \'ids\'
  )
); ?>
<div class="alignleft">
  <a href="<?php echo get_permalink($rl->posts[0]); ?>" title="<?php echo get_the_title($rl->posts[0]); ?>">Random</a>
</div><?php
我看不出两个随机的帖子链接有什么意义,但同样的技术也会奏效。

此外,在导航中使用随机链接并不是真正的导航。它不能帮助用户导航。它只是随机地将它们扔到网站上。

SO网友:chris_cm

你可以使用插件Redirect URL to Post 然后在href:

<a href="<?php echo get_site_url(); ?>/?redirect_to=random"
   title="Random post">Go to random post</a>
只需要确保禁用URL缓存,使用?重定向\\u至=随机。

结束