wordpress主循环显示文章列表不同样式的方法

1、首页显示文章的代码一般都是:

  1. <?php if (have_posts()) : ?>     
  2. <!--检查是否有文章如果有,继续执行,没有就跳到  else 那里-->   
  3. <?php  while (have_posts()) : the_post(); ?>
  4. <!--开始准备文章内容,开始循环,每次循环输出一篇文章-->   
  5. 此处显示文章内容或标题之类的。。   
  6. <?php  endwhile ; ?> 
  7. <!-- while 循环结束-->   
  8. <?php  else : ?>   
  9. 此处显示未找到文章时的信息,比如404相关   
  10. <?php  endif ; ?> 
  11. <!-- if 结束-->

2、要想精确的控制每篇文章,我们先在循环前定义一个变量 $ashu_i=1 来计数,变量名随便,然后每循环一次,$ashu_i加1,例子我把index.php中的代码改成下面的--

  1. <?php if (have_posts()) :$ashu_i=0;?>   
  2. <?php while (have_posts()) : the_post();$ashu_i++;?>   
  3. <?php echo "这是第 $ashu_i 篇文章:<br/>";?>   
  4. <?php the_title();?>   
  5. <?php echo "<hr>";   
  6. <?php endwhile; ?>   
  7. <?php else : ?>   
  8. 此处显示未找到文章时的信息,比如404相关   
  9. <?php endif; ?>

上面的例子就给每篇文章来了个简单控制。

3、具体要想让第一篇文章显示摘要,而余下的显示标题--代码:

  1. <?php if (have_posts()) :$ashu_i=0;?> 
  2. <!--检查是否有文章,并定义计数变量初始值为0 -->   
  3. <?php while (have_posts()) : the_post();$ashu_i++;?>
  4.  <!-- 开始循环,第一次循环$sahu_i为1,第二次为2,依次。。 -->   
  5. <?php if($ashu_i==1){?>      <!-- 如果是第一篇文章 -->   
  6. <?php the_content();}else{?> <!-- 显示内容 -->   
  7. <?php the_title();}?>        <!-- 如果不是第一篇显示标题 -->   
  8. <?php endwhile; ?>           <!-- 一次while循环结束 -->   
  9. <?php else : ?>              <!--如果没有文章-->   
  10.  此处显示未找到文章时的信息,比如404相关   
  11. <?php endif; ?>          <!--if结束 -->

上面的代码就可以实现第一篇文章显示摘要,而后面的文章都只显示标题


发布日期:

所属分类: Wordpress, Wordpress 综合 标签: