WordPress 主題教程 #5:主迴圈

來源:互聯網
上載者:User

調用部落格日誌的主迴圈(The Loop)是 WordPress 中最重要的 PHP 代碼集,幾乎所有的頁面都會用到它。這也是從零開始建立 WordPress 佈景主題系列教程的第五篇。
在開始繼續學習之前,我們先複習下到目前為止學到了什嗎?

到目前為止,我們已經學到::

  • 規則,術語和 WordPress 主題的層式結構
  • 每個頁面有哪些部分組成
  • 如何安裝你的主題
  • 如何調用部落格的標題和把它做成一個連結
  • 如何調用部落格的描述和如何把 header 和其他部分分開

現在讓我們開始第五篇:主迴圈(The Loop)

開啟 Xampp,“tutorial”主題檔案夾,瀏覽器,並且在瀏覽器中轉到 http://localhost/wordpress,最後開啟 index.php 檔案。

下面應該是這時候 index.php 檔案中的內容:

記住,為了學習這些代碼,請盡量手工輸入而不是拷貝和粘貼。

第1步:建立 container Div

在 header DIV 標籤下添加一個 DIV 標籤,並給它的 ID 賦值為 “container”,如下:

<div id=”container”>

</div>

“container” 這個 DIV 標籤是用把部落格的主要內容和其他東西都區分開,比如 sidebar 和 footer 等。

第2步:輸入主迴圈代碼

在 Container 的 DIV 標籤中添加如下代碼:

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>

<?php endwhile; ?>

<?php endif; ?>

這段代碼就是 WordPress 中的主迴圈(The Loop)。在詳細解釋這些代碼作用之前,我們來看下現在 index.php 所包含的代碼:

你可能已經注意到Container DIV 中的每一行都被縮排了,這是為了更好的組織代碼,更加利於閱讀(使用 tab 健而不是空格鍵進行代碼縮排,)。

剛才發生了什嗎?

  • if(have_posts()) - 檢查部落格是否有日誌
  • while(have_posts()) - 如果有日誌,那麼部落格有日誌的時候,執行下面 the_post() 這個函數。
  • the_post() - 調用具體的日誌來顯示。
  • endwhile; - 遵照規則 #1,這裡用於關閉 while()
  • endif; - 關閉 if()
  • 注釋:並不是所有的代碼都需要兩部分用來開啟和關閉。有些代碼能夠自我關閉,這就解釋了 have_posts()the_post(); 這兩個函數。因為 the_post();if()while() 的外面,只需要分號去結束或者關閉。
第3步:調用日誌標題

在前面的課程中,我們學習了使用 bloginfo('name') 去調用部落格的標題。現在我們將學習在主迴圈(The Loop)中如何調用日誌標題

the_post(); ?> 的後面和 <?php endwhile; ?> 的前面輸入 <?php the_title(); ?>

儲存 index.php 檔案並重新整理瀏覽器,這時候應該看到在部落格描述的下方出現 Hello World ,預設安裝 WordPress 之後,部落格只有一篇日誌。而我的測試的部落格有多篇日誌,所以這裡有多個日誌標題,而且因為我所用的日誌標題是一樣的,我也沒有進行組織整理他們,所以它們看起來像很長的一行 Hello World。

第4步:給日誌標題加上連結

日誌標題轉變成日誌標題連結。還記得怎樣吧部落格的標題轉變成一個連結的?

<?php the_title(); ?> 兩邊增加 <a href=”#”></a>

儲存並重新整理你的瀏覽器。現在日誌的標題都變成了連結了,但是它們並沒有指向哪裡。為了使得每個標題都能指向正確的日誌,我們需要把 # 替換為 the_permalink()

<a href=”<?php the_permalink(); ?>“><?php the_title(); ?></a>

the_permalink() 是用來調用每篇日誌地址的 PHP 函數。儲存並重新整理瀏覽器。

如果只有一個 Hello World 標題,把滑鼠移到連結上面,觀察你的瀏覽器底部的狀態列,他不再是 http://localhost/wordpress/#

如果有不止一個的標題連結,我們將看到每個連結會鏈到不同的日誌或者網頁。但是我們的日誌標題依然在同一行上面。為了分開它們,在日誌標題連結代碼的兩邊添加 <h2></h2> 標籤。

<h2><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></h2>

記住 H1 用作你的部落格的標題,那是網頁的標題。H2 被用作子標題。現在你的日誌標題連結是子標題了,每一個都是一行。儲存 index.php 檔案並重新整理瀏覽器,結果如下:

WordPress 主迴圈就介紹到這裡,現在 index.php 檔案內容應該是:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.