最近有些想法想丰富一下博客内容,但是总感觉无从入手,其实我很想把我看到的一些文章推荐给大家,就是嫌搬运有点麻烦。所以想有个东西可以记录我喜欢的东西,然后再博客上显示,不知道有没有这样的软件呢。离题这么远了,不过这次也不用啥介绍,就是随机显示文章了。
随机文章方法1
在function.php中加入
/**
* 随机文章
*/
function random_posts($posts_num=5,$before='<li>',$after='</li>'){
global $wpdb;
$sql = "SELECT ID, post_title,guid
FROM $wpdb->posts
WHERE post_status = 'publish' ";
$sql .= "AND post_title != '' ";
$sql .= "AND post_password ='' ";
$sql .= "AND post_type = 'post' ";
$sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";
$randposts = $wpdb->get_results($sql);
$output = '';
foreach ($randposts as $randpost) {
$post_title = stripslashes($randpost->post_title);
$permalink = get_permalink($randpost->ID);
$output .= $before.'<a href="'
. $permalink . '" rel="bookmark" title="';
$output .= $post_title . '">' . $post_title . '</a>';
$output .= $after;
}
echo $output;
}
在需要显示的页面调用
<?php random_posts(); ?>
随机文章方法2
页面中写入
<h3>Random Posts</h3>
<ul>
<?php
$rand_posts = get_posts('numberposts=10&orderby=rand');
foreach( $rand_posts as $post ) :
?>
<!--下面是你想自定义的Loop-->
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
随机文章方法3
使用query_post生成
<?php
query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));
if (have_posts()) :
while (have_posts()) : the_post();?>
<a href=”<?php the_permalink() ?>”
rel=”bookmark”
title=<?php the_title(); ?>”><?php the_title(); ?></a>
<?php comments_number(”, ‘(1)’, ‘(%)’);
?>
<?php endwhile;endif; ?>
随机文章方法4
可以显示标题和文章摘要
<?php
query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
if (have_posts()) :
while (have_posts()) : the_post();
the_title(); //这行去掉就不显示标题
the_excerpt(); //去掉这个就不显示摘要了
endwhile;
endif;
?>
方法2,3,4种用到的内容会破坏调用页面中记录的当前文章信息,所以可能对文章的显示有问题。建议调用的时候放到页面加载的后面部分。
source:http://www.rainleaves.com/html/1391.html
版权声明:本文为原创文章,版权归 neo 所有。
本文链接:https://idayer.com/wordpress-random-posts/
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
0 条评论