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