Wordpress教程丨随机文章的采集

Wordpress教程丨随机文章的采集,第1张

Wordpress网站为了使不同的用户观看到不同的文章,我们就可以在主题页面设置一个随机文章的获取采集,下面就为大家介绍随机文章的采集获取方法:

Wordpress教程丨随机文章的采集,第2张

 
wordpress获取随机文章方法无法两种:
 
一、使用插件(例如:Random Pages Widget);
二、自己写代码。
wordpress教程网比较推崇自己写代码,大家都知道插件过多必然影响到网站得性能。
 
 
方法一:自己编写代码
1、在你的主题functions.php文件添加如下代码:


/**

 * wordpress教程网(shouce.ren)

 * 随机文章

 */

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;

}
 
在需要显示的地方调用如下代码
 
<div class="right">

<h3>我猜你喜欢</h3>

<ul>

<?php random_posts(); ?>

</ul>

</div><!-- 随机文章 -->
 
 
 
方法二:代码最简单的方法
在需要显示随机文章地方添加如下代码:
 
<ul>

<?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; ?>

</ul>
 
这个方法虽然简单,但用到了get_posts,如果将代码放在子页模板里,在他之后的代码,比如如果在后面同时调用了当前文章的评论,那评论内容很可能,出现的是最后一个随机到的文章的评论,而非当前文章的评论。
 
方法三:用query_posts生成随机文章列表
在需要显示随机文章地方添加如下代码:
 
<?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>&nbsp;

<?php comments_number(", '(1)', '(%)'); ?>

<?php endwhile;endif; ?>
 
方法四:在随机文章中显示标题和文章摘要
在需要显示随机文章地方添加如下代码:
 
<?php

query_posts(array('orderby' => 'rand', 'showposts' => 1));

if (have_posts()) :

while (have_posts()) : the_post();

the_title(); //这行去掉就不显示标题

the_excerpt(); //去掉这个就不显示摘要了

endwhile;

endif; 

?>
 
以上的方法大家都可以去试试,不同的用法,效果也是有不同的形式的。
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Wordpress教程丨随机文章的采集

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情