« »
07/15/2009建站

在WP主题里显示随机文章的PHP代码和插件

在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)

日志信息 »

该日志于2009-07-15 09:33由 ctusky 发表在 建站 分类下, 通告目前不可用,你可以至底部留下评论。
如需转载烦请添加以下信息: 本文转自www.ctusky.com
如喜欢这篇文章或者本站,建议您RSS订阅本站,以及时地获取更多精彩内容!

看过本文的人还看过 »

8条评论

  1. LICB 博客 说:

    谢谢介绍!
    正准备安装一款随机插件。

  2. holt 说:

    我想实现每个页面随机显示10条评论,是不是只要把 $sql 改变就可以呢? 求教!谢谢!

  3. ctusky 说:

    对的,用个数据库操作软件,比如phpmyadmin看一下评论的是哪个表,依瓢画葫芦就是了

  4. holt 说:

    谢谢啦 :)

  5. holt 说:

    能再联系下么? 我一直都想实现评论随机调用的功能,奈何技术不过关。 我邮箱你看的到的。有偿任务。行不。。 有时间没时间一定给我个回复啊。 :(

  6. ctusky 说:

    是不是有点钻牛角尖了,评论本来就是对应相对的文章的,如果是随机调用,那是不是会感觉有很多无关的评论?这并不是开博者想看到的吧,至少我的评论不希望太多,我都是手工审核。

  7. holt 说:

    呵呵,作为博主我也希望评论都是相关的。是这样,如果用wp做营销型企业站的话。 产品页的相似度几乎都是100%,说给每个产品都做介绍的话,那明显不现实的,产品太多,然后介绍估计也差不了多少。除了评论能有效并且快速降低相似度以外,别的办法…o(︶︿︶)o 唉。

  8. holt 说:

    非常谢谢博主的耐心解答 :) …会常来逛逛。

发表评论 »

返回顶部