今天看到一篇不錯的 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 文件。該文件頂部還包含主題的元信息,用於提供主題的名字,作者及相關鏈接