製作了一幅講解 Wordpress 主題架構的圖,非常清晰的剖析了 Wordpress 的主題模板結構,原圖為英文,下面翻譯成中文。

希望對製作 Wordpress 主題 (模板) 有一些幫助。

WordPress主題(模板)架構圖解

 

中文文本如下:

圖解 Wordpress 主題 (模板) 設計

(瞭解 Wordpress 博客如何運作)

header.php(網站頭部)

這是一個全局文件 (易 IT 注:Wordpress 產生的每個頁面都會包含 header.php 裏的代碼),顯示頁面的題頭 (header) 和導航菜單,還包含了 HTML 文件的 head 代碼 (<head>…</head>) 。< /p>

循環部分 (the loop,頁面主體)

通過一個個包含 「循環 (loop) 結構」 的模板文件,在網站主要區域顯示網站的主要內容。

sidebar.php(邊欄)

這個文件控制邊欄顯示什麼。如果有多個邊欄,你可以在 functions.php 文件裏設置,邊欄 「小工具 (widgets)」 的內容可以在 WordPress 的管理控制面板 (wp-admin) 裏設置。

footer.php(底部)

包含了全局的底部文件和關閉 HTML 標籤 (</html>) 的代碼。

WordPress 主題是由模板文件夾 (易 IT 注:../wp-contents/themes/模板名稱/) 裏一系列文件組成,每個文件都控制着模板的不同部分。無論在網站的哪個頁面,這些頁面的某些部分一般來説都是靜態的,由 header,siderbar 和 footer 文件來控制。你可以通過修改這些文件,來看網站的哪些部分是通過哪些文件控制的。

主頁 (home)

index.php

index.php 用來控制如何顯示網站的主頁。 index.php 裏缺省地包含了一段查詢和顯示最新文章的循環代碼 (loop),並在底部顯示一個超鏈接,用來查看先前的文章。

另外,你也可以在 wp-admin>settings>read 裏設置任何你在wordpress裏創建的頁面作為主頁。也就是説,你可以設定不同的頁面 (或 url) 作為常規的博客文章來作為主頁來顯示,而那個頁面還是通過 index.php 模板產生的.

文章頁 (posts)

single.php

single.php 用來控制文章頁面如何顯示。這個文件包含了查詢和顯示當前文章的循環。

如果你想顯示邊欄 (和其他想要顯示的元素),你可以在這個文件裏指定。你也可以通過修改這個文件來使文章頁面和其他頁面有所區別。

頁面 (pages)

page.php

page.php 控制着 Wordpress Page(頁面,不同與文章 posts) 的顯示。你可以選擇去掉邊欄或其他元素,或增加一些只有 page 才有的元素。

WordPress 同時允許你創建不同的 page 模板,用來顯示不同類型的 page(頁面) 。創建 page 模板很簡單,你只要拷貝 page.php, 改個你喜歡的名字,然後在文件頂部添加如下代碼:

<?php

/*

Template Name: 你命名的頁面模板文件名

/*

?>

歸檔 (archives)

archive.php, category.php,tag.php

你可以通過以上的文件來控制各種歸檔類頁面的顯示。如果沒有歸檔類頁面模板,那麼歸檔頁面會使用 index.php 來做模板;不過,你可以創建一個 archive.php 來替代 index.php 作為歸檔類頁面的模板。如果你創建了 category.php, 這個文件會替代 archives.php 來作為分類頁面 (categories) 的模板。如果你創建了 tag.php, 這個文件會優先作為標籤頁面 (tag) 的模板。

循環 (The Loop)

循環可能是 Wordpress 模板裏最強大的部分。它從一個查詢開始 (來決定要抓取哪篇文章或頁面的數據),並已一個結束循環語句結束 (endwhile) 。循環裏顯示什麼取決於你的需要。你可以在循環裏顯示文章標題、文章內容、元數據 (作者,日期等) 、自定義的域和評論等,這些元素都是某篇文章或頁面的輸出。你還可以在一個文章或頁面創建多個查詢和循環;比如:在 single.php(文章頁面模板), 你可以創建一個循環來顯示單個文章的內容,然後在文章內容下用另外一個循環來顯示和這篇文章相關的文章的標題和縮略圖。

文章和頁面的查詢機制

開始循環

(重複顯示這和 endwhile 之間的所有內容,直到所有文章的相關內容都輸出完)

the_title

(輸出文章的標題)

the_excerpt

(輸出文章的簡介)

the_content

(輸出文章的主體內容)

the_category

(輸出文章的分類名稱)

the_author

(輸出文章的作者)

the_date

(輸出文章的日期)

other tags

(可以在循環裏插入其他各種模板裏使用的標籤)

Endwhile

(重複循環直到所有查詢都已被輸出)

幕後的其他機制

要讓 Wordpress 主題模板工作,還需要後台的一些重要文件。你可以根據自己的需要修改這些文件,來定製網站的功能和如何顯示。

comments.php

這個文件控制評論如何顯示,文件裏包含一個查詢某篇文章所有評論的循環。 comments.php 可以被一些插件 (比如 Disques) 所覆蓋,即這些插件可以接管網站的評論功能。

functions.php

functions.php 允許你加入自己的 php 代碼,來修改 wordpress 主題的核心元素。通常這可以用來給自己的主題加入多個邊欄 (sidebars) 、修改文章簡介 (excerpt) 的字符數,或者給 wp-admin 添加自己的管理面板選項。

style.css

這是主題模板的主 CSS 樣式文件。同時在這個文件的頂端,包含了含有主題名稱、作者和你網站的 URL 等相關文字,這樣 Wordpress 才能知道主題的這些信息。

其他

除了 Wordpress 的核心功能外,其他類似插件 (plugins) 、自定義域 (custom fields) 和小工具 (wedgets) 允許你進一步定製自己的網站。

插件 (Plugins)

有很多開源開發者社區開發了非常多的插件,你可以免費的將它們添加到你的網站上,包括電子商務、幻燈片 (slideshow) 、緩存和社會化功能等。

自定義域 (Custom Fields)

自定義域是在你創建一篇文章時,可以在文章內容輸入框下方的輸入框輸入。通過自定義域,你可以創建自己的選項或內容,然後可以在主題模板裏使用或顯示它們。經常用到的有縮略圖和用來包含 javascript 代碼 (include) 。

小工具 (Widgets)

小工具是用於邊欄 (sidebars) 裏的各種小模塊。在 wp-admin 裏,你可以配置預設的小工具,也可以添加各種插件提供的小工具,或者 php 代碼。小工具通常包括搜索表單、熱門文章列表和廣告區塊等這樣的內容。