在Wordpress主题制作或者实际应用中,我们经常会使用到随机日志,随机日志的好处不言而喻,下面我们就来学习两种方式来实现。
第一种、使用PHP代码方式:
将如下代码复制到你希望显示的地方
<?php global $wpdb, $tableposts, $randli; $sql = "SELECT ID, post_title FROM $tableposts WHERE post_status = 'publish' "; $sql .= "AND post_password ='' "; $sql .= "AND post_type <>'page' "; $sql .= "ORDER BY RAND() LIMIT 12"; $randposts = $wpdb->get_results($sql); $output = ''; $randli = "0"; foreach ($randposts as $randpost) { $post_title = stripslashes($randpost->post_title); $permalink = get_permalink($randpost->ID); $randli = $randli+1; $output .= '<li id="hpost' . $randli . '"><a href="' . $permalink . '" rel="bookmark" title="'; $output .= $post_title . '">' . $post_title . '</a>'; $output .= '</li>'; } echo $output; ?> //上例中显示12篇随机文章(limit数值)。 //说明:在最后的$output过程中,我加入了id=的标签,你可根据实际需要修改。
加入id=标签只是为了显示时结合css排版方便,比如这篇:css结合php代码表格输出随机日志,此代码只是为了结合CSS排列方便,更详尽优化的看这里。
或者你还可以使用以下更简单的代码:
<?php $rand_posts = get_posts('numberposts=5&orderby=rand'); foreach( $rand_posts as $post ) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?>
第二种、使用random-posts插件
使用插件方式能比较容易的实现上述功能,我们这里介绍random-posts-plugin插件。
使用方法:
1. 解压缩,把random-posts.php上传至/wp-content/plugins/
2. 在管理界面里激活 Random Posts for Chinese 插件
3. 在模板里调用
<?php random_posts(); ?>
4. 调用方式
random_posts ($limit = 5, $length = 400, $before ='<li>', $after ='</li>', $show_pass_post = false, $show_excerpt_in_title = true)
说明:
$limit:显示文章数,缺省5篇;
$length:摘要长度,缺省400;
$before:每条记录前显示的文字,缺省li
$after:每条记录后显示的文字,缺省/li
$show_pass_post:是(true)/否(false)显示保护了的文章,缺省否(false)
$show_excerpt_in_title:是(true),摘要显示于文章链接的title;否(false),直接显示于页面;缺省是(true)
本文由 ctusky 于 2009-07-15 9:33 星期三 在名为 WP插件 的分类中发表,已荣获 1,009 hits
如需转载烦请添加以下信息: 本文转自www.ctusky.com
如喜欢这篇文章或者本站,建议您RSS订阅本站,以及时地获取更多精彩内容!

感谢,偶使用了你推荐的第二种方法,实现了随机文章!谢谢啦!
恭喜恭喜,你是坏猫?我们是Wopus邻居哟。
您好。。我想问一下您博文下面的‘您可能还对这些文章感兴趣’以及‘看过本文的人还看过’
这两项是如何实现的?用什么插件?谢谢。。
呵呵 好几天没上网了
可能还对这些有兴趣 就根据 TAG 来显示相关文章的
看过还看过 这个。。。。 真正弄起来可能比较费资源
请问,这些源代码放到哪个源文件里面? 还有 您的那个“感兴趣”和“还看过”怎么引用? 怎么分成2栏?
我想把随机的当成还看过来引用 呵呵 但是利用tags 列出文章列表还真不会,希望能请教! 谢谢
css分的呀 一个 float:left 一个 float:right 就可以了
嘿嘿,偶拿去用喽。
郁闷,用了那个插件出现http500错误
那就用代码嘛