今天看到一篇不錯的 WordPress 主題結果解析文章:The anatomy of a WordPress theme 。主要說的內容是關於 WordPress 主題開發的結構,如果你想要開發一款自己的主題,相信這篇文章會很適合你。

下面我們從從網站外觀、頁面組成和後臺檔案三個方面來看下 WordPress 主題的結構。

網站外觀

WordPress 主題是由一系列模板檔案組成,每個模板檔案控制主題的一部分。無論在部落格的哪個個頁面上,主題的框架總有一部分是不變的,這是主題的靜態部分,它由 header.php, sidebar.php 和 footer.php 三個檔案控制。
我們可以修改這些檔案,以便檢測我們瀏覽的頁面,並顯示不同的內容,如在 posts 頁面和 page 頁面顯示不同的導航。然而,通常,我們會讓靜態部分在整個網站上保持一致的風格。

網站外觀由下面 4 個部分的程式碼控制:
header.php —— 主題公共頭部
該檔案主要為主題的頭部檔案,用於載入公共的 js 與 css 程式碼,呼叫該檔案的函式程式碼如下:

<?php get_header(); ?>

single.php(The Loop)—— 文章主體頁面
顯示網站主題內容的模板檔案稱為 single.php(The Loop)(後面會詳細介紹) 。
sidebar.php
用於顯示網站側邊欄的檔案。多側邊欄的主題可以在 functions.php 中新增控制。後臺可以在 「外觀」=》 「小工具」 來設定邊欄。呼叫側邊欄模板程式碼如下:

<?php get_sidebar();?>

footer.php
網站的公共尾部檔案,一般可以放你的統計程式碼或者公共的 js 程式碼,呼叫該模板的程式碼如下:

<?php  get_footer(); ?>

頁面組成

WordPress 基本頁面有:

  • Homepage(index.php 控制)
  • Post 頁面 (單獨顯示一篇完整部落格,由 single.php 控制)
  • 獨立頁面 (page.php 控制)
  • 存檔 (archive.php 等控制)

下面分別介紹這幾個控制這幾個頁面的程式碼檔案。

index.php – 主頁模板

index.php 檔案主要為網站的首頁模板。預設情況下,index 檔案透過一個 loop 來顯示最新部落格內容,有時候網站的主頁會用 home.php 模板,這主要看個人的喜好。

single.php – 個人文章頁

這個模板頁面主要用於展示網站的文章詳情頁。

page.php – 獨立頁面

該模板是獨立頁面模板,主要用過 「頁面」=》 「新建頁面」,然後指定你設定的模板來設定。

WordPress 允許我們為不同的獨立頁面 (pages) 設計不同的模板,方法如下:

1 、複製 page.php 模板 (page.php 為 WordPress 系統預設的頁面模板)

2 、在檔案的最上方新增下面程式碼

<?php
/*           Template Name: 模板名稱      */
?>

我們同樣可以自定義存檔 (archives) 的外觀。如果沒有 archive.php 檔案,存檔和主頁是一模一樣的;然而,我們可以建立一個 archive.php 檔案重構存檔頁面。如果建立 category.php 檔案,存檔頁面會被覆蓋為只顯示目錄;如果建立 tag.php 檔案,存檔頁面會被覆蓋為只顯示標籤。

The Loop

Loop 恐怕是 WordPress 最強大的部分。它是 「迴圈的查詢結果」 。迴圈體中我們可以依次輸出選中文章的標題,部落格內容,後設資料,評論等。我們還可以在 single page 中使用多個 loop 。例如,我們可以用一個 loop 顯示部落格全文,另一個 loop 顯示相關文章的標題和縮圖。

The Loop 結構如下:

Query post or page //在頁面中查詢

Start Loop //迴圈開始,一般用 while
the_title (outputs the title of the post) //標題
the_excerpt (outputs the post excerpt) //摘要
the_content (outputs the full post content) //內容
the_category (outputs the post categories) //目錄
the_author (outputs the post author) //作者
the_date (outputs the post date) //日期
other tags (there is a variety of other tags you can use in the loop) //標籤
endwhile; //結束迴圈
Exit the loop //退出迴圈

WordPress 的後臺檔案

為了讓主題工作,WordPress 還需要一些必要的後臺檔案。這些檔案可以根據個人需求進行修改,它們能夠從極大程度上改變網站的外觀或提供更強大的功能。

comments.php

這個檔案控制評論的輸出,如果您希望在部落格上提供評論功能,要把它放到主題文章中去。呼叫方法如下:

<?php comments_template('', true); ?>

functions.php

Functions.php 為函式檔案,我們可以透過在該檔案編寫自定義函式,並透過 WordPress 的鉤子技術來修改網站的展示。

style.css

這是控制主題樣式的主要 CSS 檔案。該檔案頂部還包含主題的元資訊,用於提供主題的名字,作者及相關連結