今天看到一篇不錯(cuò)的wordpress主題結(jié)果解析文章:The anatomy of a WordPress theme。主要說的內(nèi)容是關(guān)于wordpress主題開發(fā)的結(jié)構(gòu),如果你想要開發(fā)一款自己的主題,相信這篇文章會(huì)很適合你。
下面我們從從網(wǎng)站外觀、頁(yè)面組成和后臺(tái)文件三個(gè)方面來(lái)看下wordpress主題的結(jié)構(gòu)。
網(wǎng)站外觀
WordPress主題是由一系列模板文件組成,每個(gè)模板文件控制主題的一部分。無(wú)論在博客的哪個(gè)個(gè)頁(yè)面上,主題的框架總有一部分是不變的,這是主題的靜態(tài)部分,它由header.php, sidebar.php 和 footer.php三個(gè)文件控制。
我們可以修改這些文件,以便檢測(cè)我們?yōu)g覽的頁(yè)面,并顯示不同的內(nèi)容,如在posts頁(yè)面和page頁(yè)面顯示不同的導(dǎo)航。然而,通常,我們會(huì)讓靜態(tài)部分在整個(gè)網(wǎng)站上保持一致的風(fēng)格。
網(wǎng)站外觀由下面4個(gè)部分的代碼控制:
header.php —— 主題公共頭部
該文件主要為主題的頭部文件,用于加載公共的js與css代碼,調(diào)用該文件的函數(shù)代碼如下:
<?php get_header(); ?>
single.php(The Loop) —— 文章主題頁(yè)面
顯示網(wǎng)站主題內(nèi)容的模板文件稱為single.php(The Loop)(后面會(huì)詳細(xì)介紹)。
sidebar.php
用于顯示網(wǎng)站側(cè)邊欄的文件。多側(cè)邊欄的主題可以在functions.php中添加控制。后臺(tái)可以在“外觀”=》“小工具”來(lái)設(shè)置邊欄。調(diào)用側(cè)邊欄模板代碼如下:
<?php get_sidebar();?>
footer.php
網(wǎng)站的公共尾部文件,一般可以放你的統(tǒng)計(jì)代碼或者公共的js代碼,調(diào)用該模板的代碼如下:
<?php get_footer(); ?>
頁(yè)面組成
WordPress基本頁(yè)面有:
- Homepage(index.php控制)
- Post頁(yè)面(單獨(dú)顯示一篇完整博客,由single.php控制)
- 獨(dú)立頁(yè)面(page.php控制)
- 存檔(archive.php等控制)
下面分別介紹這幾個(gè)控制這幾個(gè)頁(yè)面的代碼文件。
index.php – 主頁(yè)模板
index.php文件主要為網(wǎng)站的首頁(yè)模板。默認(rèn)情況下,index文件通過一個(gè)loop來(lái)顯示最新博客內(nèi)容,有時(shí)候網(wǎng)站的主頁(yè)會(huì)用home.php模板,這主要看個(gè)人的喜好。
single.php – 個(gè)人文章頁(yè)
這個(gè)模板頁(yè)面主要用于展示網(wǎng)站的文章詳情頁(yè)。
page.php – 獨(dú)立頁(yè)面
該模板是獨(dú)立頁(yè)面模板,主要用過“頁(yè)面”=》“新建頁(yè)面”,然后指定你設(shè)置的模板來(lái)設(shè)置。
WordPress允許我們?yōu)椴煌莫?dú)立頁(yè)面(pages)設(shè)計(jì)不同的模板,方法如下:
1、復(fù)制page.php模板(page.php為wordpress系統(tǒng)默認(rèn)的頁(yè)面模板)
2、在文件的最上方添加下面的代碼
<?php /* Template Name: 模板名稱 */ ?>
我們同樣可以自定義存檔(archives)的外觀。如果沒有archive.php文件,存檔和主頁(yè)是一模一樣的;然而,我們可以創(chuàng)建一個(gè)archive.php文件重構(gòu)存檔頁(yè)面。如果創(chuàng)建category.php文件,存檔頁(yè)面會(huì)被覆蓋為只顯示目錄;如果創(chuàng)建tag.php文件,存檔頁(yè)面會(huì)被覆蓋為只顯示標(biāo)簽。
The Loop
Loop恐怕是WordPress最強(qiáng)大的部分。它是“循環(huán)的查詢結(jié)果”。循環(huán)體中我們可以依次輸出選中文章的標(biāo)題,博客內(nèi)容,元數(shù)據(jù),評(píng)論等。我們還可以在single page中使用多個(gè)loop。例如,我們可以用一個(gè)loop顯示博客全文,另一個(gè)loop顯示相關(guān)文章的標(biāo)題和縮略圖。
The Loop結(jié)構(gòu)如下:
Query post or page //在頁(yè)面中查詢
Start Loop //循環(huán)開始,一般用whilethe_title (outputs the title of the post) //標(biāo)題the_excerpt (outputs the post excerpt) //摘要the_content (outputs the full post content) //內(nèi)容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) //標(biāo)簽endwhile; //結(jié)束循環(huán)Exit the loop //退出循環(huán)
WordPress的后臺(tái)文件
為了讓主題工作,WordPress還需要一些必要的后臺(tái)文件。這些文件可以根據(jù)個(gè)人需求進(jìn)行修改,它們能夠從極大程度上改變網(wǎng)站的外觀或提供更強(qiáng)大的功能。
comments.php
這個(gè)文件控制評(píng)論的輸出,如果您希望在博客上提供評(píng)論功能,就要把它放到主題文章中去。調(diào)用方法如下:
<?php comments_template('', true); ?>
functions.php
Functions.php為函數(shù)文件,我們可以通過在該文件編寫自定義函數(shù),并通過wordpress的鉤子技術(shù)來(lái)修改網(wǎng)站的展示。
style.css
這是控制主題樣式的主要CSS文件。該文件頂部還包含主題的信息,用于提供主題的名字,作者及相關(guān)鏈接
圖文剖析
下面是原作者強(qiáng)大的WordPress剖析圖:
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » wordpress主題結(jié)構(gòu)剖析