WordPress首页日志随机显示

Ludou

打开WordPress主题目录,打开index.php或home.php,搜索代码:

1
while (have_posts()) :

将其改成:

1
query_posts('orderby=rand');while (have_posts()) :

接着将

1
<?php endwhile; ?>

改成:

1
<?php endwhile;wp_reset_query(); ?>

 

注意:以上方法会跟wp-pagenavi插件发生冲突,导致无法翻页,请将以上方法中的

1
query_posts('orderby=rand'); while (have_posts()) :

改成:

1
2
3
4
5
6
7
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args=array(
    'orderby'=>rand,
    'paged'=>$paged,
);
query_posts($args);
while (have_posts()) :

     使用WordPress函数query_posts,可以控制文章的输出方式,关于该函数详细用法,详见WordPress官方文档:http://codex.wordpress.org/Function_Reference/query_posts

本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress首页日志随机显示
本文地址:http://www.ludou.org/wordpress-home-post-rand-show.html

露兜博客博主,男生,业余Web程序员,儒家思想受益者。文采不佳,不喜欢聚光灯,不喜欢吹牛,不喜欢无序的做事方式。闲时喜欢写些代码自娱自乐,并在博客中分享一些个人技术经验。

标签:

19 条评论

我来说两句
  1. 白大王

    一般人肯定都是放sidebar,首页要是这么改那世界就乱套了。
    呵呵

  2. Ludou

    这里只提供方法,并不是一定要用!

    但是这个功能,肯定是有人需要的。

  3. 南京seo

    做优化的可以试试看,最好是让这个功能在侧边栏进行随机调用,这样就相当于是更新了。

    • Ludou

      想要在侧边栏调用随机文章,可以使用以下代码:
      <h3>随机文章</h3>
      <ul>
      <?php
      $posts = get_posts('numberposts=10&orderby=rand');
      foreach($posts as $post) {
      setup_postdata($post);
      echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
      }
      $post = $posts[0];
      ?>
      </ul>

      • only博客

        你好,我就是用这个方法,怎么随机文章不显示,请指导下:
        谢谢!

        • Ludou

          请确定你修改的是sidebar.php ,并且是按照以上代码写的。

        • only博客

          我想学习你那样,在网站的右侧面新建了个文本,代码放进去不行,我想问下,我想放在网站右侧面,该怎么做,请指导下:
          我的网站:www.ssqyxx.com

        • Ludou

          直接在右侧面新建了文本框,填代码是不行的!因为那个文本框不支持放代码,即使放了没法执行!

          要想显示随机文章,请打开你的主题目录下的sidebar.php ,并且将以上代码放到相应位置就可以了。

  4. heyladies

    楼主我真是太感激你了~呵呵,没经你同意给你做了个外链~别介意哈,继续关注你的BLOG~~

  5. darktoy

    我没成功……不知为什么,主题是autofocus

  6. wangxxx

    感谢分享 正好是我需要的功能
    还解释的那么详细

  7. EinCy

    那样子首页不就不显示最新文章了吗

  8. low

    首页日志随机显示,那翻页后的内页会怎么样?是按顺序的还是随机的?

  9. matata

    确实需要。感谢。

发表评论

因博主长期在外地出差,您的留言可能暂时不会得到回复。

订阅评论