今天看到一篇不錯的 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 檔案。該檔案頂部還包含主題的元資訊,用於提供主題的名字,作者及相關連結