假如我們選擇首頁顯示最新文章,並且:第一篇文章顯示摘要,後面的只顯示標題。。。還有第一篇文章顯示廣告之類的。。。那麼如何利用迴圈控制呢?
1、首頁顯示文章的程式碼一般都是:
<?php if (have_posts()) : ?>
<!--檢查是否有文章如果有,繼續執行,沒有就跳到 else 那裡-->
<?php while (have_posts()) : the_post(); ?>
<!--開始準備文章內容,開始迴圈,每次迴圈輸出一篇文章-->
此處顯示文章內容或標題之類的。。
<?php endwhile ; ?>
<!-- while 迴圈結束-->
<?php else : ?>
此處顯示未找到文章時的資訊,比如404相關
<?php endif ; ?>
<!-- if 結束-->
2、要想精確的控制每篇文章,我們先在迴圈前定義一個變數 $ashu_i=1 來計數,變數名隨便,然後每回圈一次,$ashu_i加1,例子我把index.php中的程式碼改成下面的--
<?php if (have_posts()) :$ashu_i=0;?>
<?php while (have_posts()) : the_post();$ashu_i++;?>
<?php echo "這是第 $ashu_i 篇文章:<br/>";?>
<?php the_title();?>
<?php echo "<hr>";
<?php endwhile; ?>
<?php else : ?>
此處顯示未找到文章時的資訊,比如404相關
<?php endif; ?>
上面的例子就給每篇文章來了個簡單控制。
3、具體要想讓第一篇文章顯示摘要,而餘下的顯示標題--程式碼:
<?php if (have_posts()) :$ashu_i=0;?>
<!--檢查是否有文章,並定義計數變數初始值為0 -->
<?php while (have_posts()) : the_post();$ashu_i++;?>
<!-- 開始迴圈,第一次迴圈$sahu_i為1,第二次為2,依次。。 -->
<?php if($ashu_i==1){?> <!-- 如果是第一篇文章 -->
<?php the_content();}else{?> <!-- 顯示內容 -->
<?php the_title();}?> <!-- 如果不是第一篇顯示標題 -->
<?php endwhile; ?> <!-- 一次while迴圈結束 -->
<?php else : ?> <!--如果沒有文章-->
此處顯示未找到文章時的資訊,比如404相關
<?php endif; ?> <!--if結束 -->
上面的程式碼就可以實現第一篇文章顯示摘要,而後面的文章都只顯示標題
您可能感興趣的文章:
▪ 利用Bootstrap構建你的響應式WordPress主題( 五)
▪ wordpress使用register_post_type 函數建立自定義文章型別∶
▪ WordPress函數:add meta box(自定義新增Meta模組)