WordPress调用最新,随机,热门,指定分类文章

代码2020-04-16321 人已阅来源:大胡子

WordPress 如何不使用插件实现调用最新文章、热门文章和随机文章呢,关于 WP 文章调用方法,包括调用最新,指定分类,随机,热文等代码,经测试,支持最新版 WordPress,这里我把代码记录下来,方便自己日后查看,也给大家参考之用。

调用最新文章

<?php query_posts('showposts=6&cat=-111'); ?>  // 显示篇数和排除分类
<ul>  
  <?php while (have_posts()) : the_post(); ?>  
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>  
  <?php endwhile;?>  
</ul> 

调用指定分类文章

 <ul>
  <?php
      $args=array(
          'cat' => 1,   // 分类ID
          'posts_per_page' => 10, // 显示篇数
      );
      query_posts($args);
      if(have_posts()) : while (have_posts()) : the_post();
  ?>
      <li>
          <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
      </li>
  <?php  endwhile; endif; wp_reset_query(); ?>
</ul> 

调用整站随机文章

 <ul>
  <?php
  $args = array( 'numberposts' => 5, 'orderby' => 'rand', 'post_status' => 'publish' );
  $rand_posts = get_posts( $args );
  foreach( $rand_posts as $post ) : ?>
  <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
  <?php endforeach; ?>
</ul> 

调用同分类随机文章

 <ul>
  <?php
  $cat = get_the_category();
  foreach($cat as $key=>$category){
  $catid = $category->term_id;}
  $args = array('orderby' => 'rand','showposts' => 8,'cat' => $catid ); // 显示篇数
  $query_posts = new WP_Query();
  $query_posts->query($args);
  while ($query_posts->have_posts()) : $query_posts->the_post();?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
  <?php endwhile;?>
  <?php wp_reset_query(); ?>
</ul> 

调用整站热门文章(按评论数)

 <ul>
  <?php
  $post_num = 10; // 显示篇数
  $args = array(
  ‘post_password’ => ”,
  ‘post_status’ => ‘publish’, // 只选公开的文章.
  ‘post__not_in’ => array($post->ID),//排除当前文章
  ‘caller_get_posts’ => 1, // 排除置顶文章.
  ‘orderby’ => ‘comment_count’, // 依评论数排序.
  ‘posts_per_page’ => $post_num
  );
  $query_posts = new WP_Query();
  $query_posts->query($args);
  while( $query_posts->have_posts() ) { $query_posts->the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
  <?php } wp_reset_query();?>
</ul>