首页 > CMS > Wordpress > 正文

wordpress随机调用显示文章的方法

2024-09-07 00:49:55
字体:
来源:转载
供稿:网友

在wordpress中要随机显示文章我们给大家介绍了三种调用随机文章的方法,有需要的朋友可根据自己的需要选择一种即可.

方法一:采用wordpress内置函数,在需要的时候直接调用以下代码:

  1. <ul>  
  2. <?php $rand_posts = get_posts('numberposts=5&orderby=rand');  
  3. foreach$rand_posts as $post ) : ?>  
  4.    <li>  
  5.         <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>  
  6.    </li>  
  7. <?php endforeach; ?>  
  8. </ul> 

方法二:用query_posts生成随机文章列表,代码如下:

  1. <?php 
  2. query_posts('showposts=10&orderby=rand'); 
  3. if ( have_posts() ) : while ( have_posts() ) : the_post(); 
  4. ?> 
  5. <li><em><?php echo $j++;?></em><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
  6. <?php 
  7. endwhileelse
  8. ?> 

没有可显示的文章,代码如下:

  1. <?php 
  2. endif
  3. wp_reset_query(); 
  4. ?> 

方法三:在函数模版function.php中添加函数,然后调用,在function.php文件中添加以下代码:

  1. function random_posts($posts_num=8,$before='<li>',$after='</li>'){ 
  2.     global $wpdb
  3.     $sql = "SELECT ID, post_title,guid 
  4.             FROM $wpdb->posts 
  5.             WHERE post_status = 'publish' "; 
  6.     $sql .= "AND post_title != '' "
  7.     $sql .= "AND post_password ='' "
  8.     $sql .= "AND post_type = 'post' "
  9.     $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num "
  10.     $randposts = $wpdb->get_results($sql); 
  11.     $output = ''
  12.     foreach ($randposts as $randpost) { 
  13.         $post_title = stripslashes($randpost->post_title); 
  14.         $permalink = get_permalink($randpost->ID); 
  15.         $output .= $before.'<a href="' 
  16.             . $permalink . '"  rel="bookmark" title="'
  17.         $output .= $post_title . '">' . $post_title . '</a>'
  18.         $output .= $after
  19.     } 
  20.     echo $output
  21. }//random_posts()参数有$posts_num即文章数量,$before开始标签默认<li>,$after=结束标签默认</li> 

然后在需要调用随机文章的地方插入下面的代码:

  1. <div class="right">  
  2.     <h3>随便找点看看!</h3>  
  3.     <ul>  
  4.         <?php random_posts(); ?>  
  5.     </ul>  
  6. </div> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表