wordpress获取随机文章方法总结

2020-08-30 11:06:10

在使用wordpress建站过程中,为了使得整个网站得页面更加丰富,或者使网站具有更强的用户粘度,我们通常会需要在页面展示一些随机文章,这样也可以使得文章的pv得到提升。(查看wordpress获取随机文章(插件版本))
wordpress获取随机文章方法无法两种:

一、使用插件(例如:Random Pages Widget);
二、自己写代码。

wordpress教程网比较推崇自己写代码,大家都知道插件过多必然影响到网站得性能。

wordpress获取随机文章方法

方法一:自己编写代码
1、在你的主题functions.php文件添加如下代码:


/**
* wordpress教程网(shouce.ren)
* 随机文章
*/
function random_posts($posts_num=5,$before='

',$after='

'){
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.'' . $post_title . '';
$output .= $after;
}
echo $output;
}

在需要显示的地方调用如下代码

我猜你喜欢


很简单吧!!!何必用啥插件哈!!

方法二:代码最简单的方法
在需要显示随机文章地方添加如下代码:

<a href="http://www.shouce.ren/api/view/a/">

这个方法虽然简单,但用到了get_posts,如果将代码放在子页模板里,在他之后的代码,比如如果在后面同时调用了当前文章的评论,那评论内容很可能,出现的是最后一个随机到的文章的评论,而非当前文章的评论。

方法三:用query_posts生成随机文章列表
在需要显示随机文章地方添加如下代码:


'rand', 'showposts' => 2));
if (have_posts()) :
while (have_posts()) : the_post();?>
<a href="http://www.shouce.ren/api/view/a/"
rel="bookmark"
title="> 

方法四:在随机文章中显示标题和文章摘要
在需要显示随机文章地方添加如下代码:


'rand', 'showposts' => 1));
if (have_posts()) :
while (have_posts()) : the_post();
the_title(); //这行去掉就不显示标题
the_excerpt(); //去掉这个就不显示摘要了
endwhile;
endif;
?>

方法总结:
除了我再用的第一种方法,其他三种方法中都使用到了,get_posts、the_post等方法,这些方法破坏页面中记录的当前文章的信息,如果使用在页面的最后部分,影响不大,如果在调用的代码后面还有评论等内容,则会导致评论内容调用的是随机到的最后一篇文章的评论。