為什么要開發WordPress主題?
WordPress主題由一系列文件和樣式表單組成,這些文件和樣式表單共同作用生成WordPress網站的外觀。每個主題都不同,用戶可以通過這些主題隨心所欲地更換自己網站的外觀。那么為什么我們要自己開發WordPress主題呢?
- 為自己的WordPress網站打造獨一無二的外觀
- 利用模板、模板標簽和WordPress Loop創作不同的網頁表現形式和網站外觀
- 為網站特殊功能如類別頁面和搜索結果頁面提供其它模板
- 輕松切換兩種網站外觀設計,或利用主題、樣式轉換器來改變網站外觀
- 設計WordPress主題,然后公開發布,讓大家都看到自己的作品
WordPress主題也有很多好處:
- 主題將樣式表單和模板文件從系統文件中獨立出來,這樣網站升級時就不會對網站的視覺外觀造成大幅影響
- 每個主題的呈現樣式和網頁布局都是獨一無二的
- 通過主題更換,WordPress網站可以快速改變其外觀
- 用戶再也不必為了讓網站表現得清新自然而清除CSS、HTML、PHP代碼
我們自己開發WordPress主題原因還在於:
- 這是一個深入學習CSS、HTML/XHTML、PHP的好機會
- 同時也是一個積累CSS、HTML/XHTML、PHP實踐經驗的機會
- 開發主題可以發揮人的創造性
- 開發主題是一個充滿樂趣的過程(大部分時候)
- 將主題公開發布,與其他用戶分享自己的勞動成果,回饋WordPress社區
創建 WordPress 主題其實不難,只要你從現在開始認真學習這個教程,從零一步一步開始,你就會成為一個 WordPress 主題制作高手,至少你會修改現有主題。
下面是一個從零開始制作 WordPress 主題的教程,它會一步一步教你如何制作 WordPress 主題。 看到一個網上的WordPress蠻好的教程,挺適合初學者。分享一下:
- WordPress 主題教程:從零開始制作 WordPress 主題
- WordPress 主題教程 #1:介紹
- WordPress 主題教程 #2:模板文件和模板
- WordPress 主題教程 #3:開始 Index.php
- WordPress 主題教程 #4a:Header 模板
- WordPress 主題教程 #4b:Header 模板 2
- WordPress 主題教程 #5:主循環
- WordPress 主題教程 #5b:日志內容
- WordPress 主題教程 #5c:日志元數據
- WordPress 主題教程 #5d:Else,日志 ID,鏈接標題
- WordPress 主題教程 #5e:日志導航鏈接
- WordPress 主題教程 #6:側邊欄
- WordPress 主題教程 #6b:頁面鏈接列表
- WordPress 主題教程 #6c:存檔和鏈接列表
- WordPress 主題教程 #6d:搜索框和日歷
- WordPress 主題教程 #6e:窗體化側邊欄
- WordPress 主題教程 #7:底部
- WordPress 主題教程 #8:驗證 XHTML
- WordPress 主題教程 #9:Style.css 和 CSS 介紹
- WordPress 主題教程 #10:十六進制顏色代碼和樣式化鏈接
- WordPress 主題教程 #11:寬度和布局
- WordPress 主題教程 #12:日志樣式化和其他雜項
- WordPress 主題教程 #13:樣式化側邊欄
- WordPress 主題教程 #14:底部和拆分 Index
- WordPress 主題教程 #15:子模板文件
- WordPress 主題教程 #16:留言模板
- erdaoo 的 WP Theme 教程學習筆記
- WordPress 主題教程電子書下載
小結:
1. WordPress 主題教程:從零開始制作 WordPress 主題
1)網絡上已經有很多關於制作 WordPress 主題的教程,並且 WordPress 官方網站上也有指導文章。但是當你不懂這方面的術語的話,這些教程可能不一定會幫助你,甚至還會誤導你,所以這個教程會真正從零開始教你如何創建 WordPress 主題。
2)本地安裝 WordPress。
3)服務器上安裝一個測試版的 WordPress。
4)代碼編輯工具。 NotePad++ ,DW。
5)FTP 工具。
6)至少配備三種瀏覽器,Microsoft Internet Explorer、Mozilla Firefox、Google Chrome,版本暫時不限,用於測試網頁是否顯示正常。
2.WordPress 主題里面的模版文件介紹
主題的位置:D:\xampp\htdocs\wordpress\wp-content\themes
創建一個新的文件夾,命名 daliu。
| 頁面 |
主題文件中是否必須存在 |
作用 |
備注 |
| archive.php |
非必須 |
通用文件:標簽頁、分類頁、自定義分類頁、存檔頁 |
控制存檔、分類、日期的輸出頁面。其實這些內容是可以單獨控制的,不過大部分模版都不把它們分開對待。 |
| author.php |
非必須 |
作者存檔頁 |
|
| author-bio.php |
|
|
|
| attachment.php |
非必須 |
附件頁 |
|
| category.php |
非必須 |
分類頁 |
|
| comments.php |
|
|
|
| content.php |
|
|
|
| content-link.php |
|
|
|
| content-none.php |
|
|
|
| content-page.php |
|
|
|
| content-search.php |
|
|
|
| date.php |
非必須 |
時間存檔頁 |
|
| footer.php |
基本文件 |
一般是用來輸出頁腳信息的,比如放些模版作者,版權信息之類。 |
|
| functions.php |
非必須 |
主題函數文件,自定義頭部,進入后台主題設置可以看到,可擴展性相當強。 |
|
| header.php |
基本文件 |
用來輸出標題和菜單項,同時html文件的頭信息也放在這 |
|
| home.php |
基本文件 |
首頁 |
|
| image.php |
|
|
|
| index.php |
必須 |
通用文件:首頁、文章頁、分類頁、存檔頁、頁面、404頁面、搜索結果頁、附件頁 |
index.php模板文件靈活易用,可以存儲關於頁眉、側邊欄、頁腳、內容、類別、查找、錯誤以及訪問者請求的頁面的所有引用信息。index.php還可以划分成模塊化的模板文件,每個模塊分擔部分系統任務。用戶不指定模板文件時,WordPress會使用內置的默認文件。 |
| page.php |
基本文件 |
|
|
| readme.txt |
基本文件 |
|
|
| screenshot.png |
基本文件 |
從WP2.0開始,模版選擇會提供縮略圖,這個文件就是縮略圖文件。 |
給你的主題界面截個圖,命名為screenshot.png,大小300 * 225,放置到主題目錄下作為主題縮略圖 |
| search.php |
基本文件 |
|
|
| sidebar.php |
基本文件 |
用於輸出側欄內容。 |
|
| single.php |
基本文件 |
通用文件:附件頁、文章頁 |
|
| search.php |
基本文件 |
搜索結果頁 |
|
| style.css |
必須 |
主題樣式以及說明文件 |
所有所有頁面的具體表現樣式都由這個文件來控制。 |
| tag.php |
非必須 |
標簽頁 |
|
| taxonomy.php |
非必須 |
自定義分類頁 |
|
| 404.php |
基本文件 |
404出錯信息,當訪問者輸入了一個不存在的地址就會看到這個頁面,可以在這里寫一些有用的提示,或者直接給個404 error。 |
|
必須就是主題必須包含此文件否則無法正常運行,非必須則是可有可無的文件,按需自己求來考慮是否需要創建該文件。通用文件則是可以適用於多種不同類型的文件,我在文件名后面都包含了適用的頁面類型。
3. 開始制作一個簡單的主題,需要的文件是 index.php ,style.css 和圖screenshot.png
style.css 文件的內容:
/*
Theme Name: 這里填主題名稱
Theme URI: 這里填主題介紹的網址,沒有就填你的博客網址吧
Description: 這里填主題的簡短介紹
Version: 版本號
Author: 作者名
Author URI: 作者的網址
Tags: 標簽,多個用半角逗號隔開
*/
1 /* 2 Theme Name: daliu_it 3 Theme URI: http://www.cnblogs.com/liuhongfeng/ 4 Description: ITbolg 5 Version: 1.0 6 Author: daliu_it 7 Author URI: http://www.cnblogs.com/liuhongfeng/ 8 9 */
index.php的基本結構:
index.php 是由 4 個模板文件組成: header.php,index.php,sidebar.php 和 footer.php。
header.php文件的內容:
<?php bloginfo('name'); ?> : 博客名稱(Title)
<?php bloginfo('stylesheet_url'); ?> : CSS文件路徑
<?php bloginfo('pingback_url'); ?> : PingBack Url
<?php bloginfo('template_url'); ?> : 模板文件路徑
<?php bloginfo('version'); ?> : WordPress版本
<?php bloginfo('atom_url'); ?> : Atom Url
<?php bloginfo('rss2_url'); ?> : RSS 2.o Url
<?php bloginfo('url'); ?> : 博客 Url
<?php bloginfo('html_type'); ?> : 博客網頁Html類型
<?php bloginfo('charset'); ?> : 博客網頁編碼
<?php bloginfo('description'); ?> : 博客描述
<?php wp_title(); ?> : 特定內容頁(Post/Page)的標題
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <title> <?php bloginfo('name'); ?> <?php wp_title(); ?> </title> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please --> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <?php wp_get_archives('type=monthly&format=link'); ?> <?php //comments_popup_script(); // off by default ?> <?php wp_head(); ?> </head> <body> </body> </html>
說明:
<?php – 開始 PHP 代碼
bloginfo(’stylesheet_url’) – 調用 style.css 文件所在的路徑的函數
; – 停止調用函數。分號是用來結束一個 PHP 語句。
?> – 結束 PHP 代碼
在index.php文件中的body標簽進行演示如何調用這些標簽來顯示內容:
<body> 1.調用博客鏈接: <a href="#"><?php bloginfo('name'); ?></a> </br> 2.博客名加上鏈接 : <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> </br> 3.給博客的標題添加 H1 的標簽: <h1 ></a><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1> </br> 4.添加博客描述 <h1 ></a><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1> <?php bloginfo('description'); ?> <br/> 5.添加 DIV 標簽 <div> <h1 > <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> </h1> <?php bloginfo(’description’); ?> </div> <br/> 6.添加 Header DIV 標簽 <div id=”header”> <h1 > <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> </h1> <?php bloginfo(’description’); ?> </div> <br/> </body>
4. 如何調用函數來顯示日志和文章等信息。主循環+php函數。
主循環結構:
if(have_posts()) – 檢查博客是否有日志。
while(have_posts()) – 如果有日志,那么當博客有日志的時候,執行下面 the_post() 這個函數。
the_post() – 調用具體的日志來顯示。
endwhile; – 這里用於關閉 while()
endif; – 關閉 if()
第一,if(have_posts()) 檢查博客是否有日志,
第二,while(have_posts()) 執行 the_post() 去調用日志。而 Else 是當博客完全沒有日志的時候執行的。
主循環結構代碼:
1 <?php if(have_posts()) : ?> 2 3 <?php while(have_posts()) : the_post(); ?> 4 5 <?php endwhile; ?> 6 7 <?php endif; ?>
日志相關函數:
<?php the_title(); ?> 用來調用日志標題
<?php the_permalink(); ?> 用來調用每篇日志地址
<?php the_content(); ?> 調用了 日志的內容
<?php the_ID(); ?> 調用日志的ID號
<?php the_title(); ?> 來輸出文章標題
<?php echo mb_strimwidth(get_the_title(), 0, 38, '...'); ?> 輸出了字符串的第0位到第38位,根據主題的不同可以自行設置該數值,另外多余長度部分使用“…” 代替。
日志的元數據(Postmetadata):日期(date),分類(categories),作者(author),評論數(number of comments),以及其他和日志有關系的信息。
<?php _e('Filed under:'); ?> 是調用冒號“:”的代碼;
<?php the_category(', ') ?> 用來調用日志的在的所有類別;
<?php _e('by'); ?> 。如果你創建的是私人用的的主題, by 外面的 _e() 不是必須的,最后加上 _e() 以便你的主題可翻譯化。
<?php the_author(); ?> 輸出當前日志作者的名字。
<?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?>
日志的元數據函數參數解釋:
調用一個彈出的留言窗口,如果沒有激活, 則只是簡單的顯示留言列表。
No Comments » 是在沒有留言的時候顯示的。
1 Comment » 是用於當剛好只有1條留言時候。
% Comments &187; 是用於當有多於一條留言的時候。
比如:8 Comments »。百分號 % 用來顯示數字。» 是用來顯示一個雙層箭頭 »。
<?php edit_post_link('Edit', ' | ', ''); ?> 當我們以管理員或者作者身份登錄的的時候才可見。
簡單顯示一下基本的日志元數據:
<p class="postmetadata">
<?php _e('Filed under:'); ?>
<?php the_category(', ') ?>
<?php _e('by'); ?>
<?php the_author(); ?><br />
<?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?>
<?php edit_post_link('Edit', ' | ', ''); ?>
</p>
<?php posts_nav_link(); ?> 調用后一頁和前一頁的鏈接。
<?php posts_nav_link('in between','befor','after'); ?> 也可以給這個函數3個參數,分別給鏈接的中間,前面和后面的設置字符第1個參數是顯示在后一頁和前一頁鏈接的中間。第2個參數顯示在前面。第3個參數顯示在后面。
說明:
默認情況下,如果沒有超過10篇日志的話,是不會顯示導航鏈接,如果沒有超過10篇日志,依然想看到導航鏈接,登錄到管理界面,在 設置 > 閱讀 頁面,把它設置為比所有日志少一篇。如,有6篇日志,就設置為5。
完整的顯示一篇日志相關信息:
1 <div id=”container”> 2 3 <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?> 4 5 <div class=”post” id=”post-<?php the_ID(); ?>”> 6 <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 7 </div> 8 <div class=entry> 9 <?php the_content(); ?> 10 11 <p class="postmetadata"> 12 <?php _e('Filed under:'); ?> 13 <?php the_category(', ') ?> 14 <?php _e('by'); ?> 15 <?php the_author(); ?><br /> 16 <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?> 17 <?php edit_post_link('Edit', ' | ', ''); ?> 18 </p> 19 20 </div> 21 22 <?php endwhile; ?> 23 24 <?php endif; ?> 25 <div class="post" id=”post-<?php the_ID(); ?>” > 26 <?php _e('NOT Found'); ?> 27 </div> 28 <div class="navigation"> 29 <?php posts_nav_link('in between','before','after'); ?> 30 </div> 31 32 </div>
5. 側邊欄,如何顯示分類鏈接。
<?php wp_list_cats(); ?> – 調用分類鏈接列表
<?php wp_list_pages(); ?> 窗體化(widgetize)側邊欄。
<?php _e('Archives'); ?> – 子標題文本
<?php wp_get_archives('type=monthly'); ?> – 按月調用存檔列表鏈接,並把每個鏈接放入 <li> 和 </li> 標簽中。
<?php get_links_list(); ?> 添加友情鏈接列表
說明:
默認的分類是 Uncategorized。如果你沒有把日志發布到多個分類下面,那么你的列表鏈接列表應該是只有一個鏈接 Uncategorized。
sort_column=name – 把分類按字符順序排列
optioncount=1 – 顯示每個分類含有的日志數
hierarchial=0 – 不按照層式結構顯示子分類,這就解釋了為什么子分類鏈接是列在列表中第一級。
& – 每次增加另一個參數的時候,需在它之前要輸入 & 用來把和現有的參數區分開。如 & – 在 sort_column 和 optioncount之間。
<?php wp_list_pages('depth=3&title_li=<h2>Pages</h2>'); ?>
有四級頁面鏈接。由於布局或者設計的原因使得不能在側邊欄處理那么多級別的鏈接。為了限制顯示列表的層數,增加了 depth 這個參數,並把它設置為 3:(如果你只有一個 about 頁面鏈接,你將不會注意有什么不同。)
簡單的調用一下分類目錄:
<div class="sidebar">
<ul>
<?php wp_list_pages('depth=3&title_li=<h2>Pages</h2>'); ?>
<li>
<h2><?php _e('Categories'); ?></h2>
<ul>
<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?>
</ul>
</li>
</ul>
</div>
完整的調用分類目錄,存檔,分級頁面等信息:
<div class="sidebar">
<ul>
<?php wp_list_pages('depth=3&title_li=<h2>Pages</h2>'); ?>
<li>
<h2><?php _e('Categories'); ?></h2>
<ul>
<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?>
</ul>
</li>
<li>
<h2><?php _e('Archives'); ?> </h2>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>
</li>
<?php get_links_list(); ?>
</ul>
</div>
5. 搜索框
<?php include(TEMPLATEPATH . '/searchform.php'); ?>
include() – 導入任何你想導入的文件。這和使用 WordPress 模板函數去調用模板文件是不同的,因為 include() 只是簡單導入已經存在的文件。這里是調用在 searhform.php 文件中的代碼。被導入的信息應該在一個博客上基本不會被改變的。
TEMPLATEPATH – 主題文件夾的位置,這里是:wp-content/themes/daliu_it
‘/searchform.php’ – 文件名:/searchform.php
在 TEMPLATEPATH 和 “/searchform.php” 中間的點把它們連接起來,所以最終得到:wp-content/themes/daliu_it/searchform.php
<div class="sidebar"> <ul> <li id="search"> <?php include(TEMPLATEPATH . '/searchform.php'); ?> </li> <?php wp_list_pages('depth=3&title_li=<h2>Pages</h2>'); ?> <li> <h2><?php _e('Categories'); ?></h2> <ul> <?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?> </ul> </li> <li> <h2><?php _e('Archives'); ?> </h2> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> </li> <?php get_links_list(); ?> </ul> </div>
6. 日歷框
<?php _e('Calendar'); ?> 日歷
<?php get_calendar(); ?> 調用日歷函數,輸出一個日歷
<li id=”calendar”>
<?php _e('Calendar'); ?>
<?php get_calendar(); ?>
</li>
7. 元數據:注冊,登入,登出。
<?php wp_register(); ?> 這個函數能產生一組 <li> 和 </li> 標簽,如果你沒有登陸,它顯示注冊(Register)鏈接,如果登錄了,它顯示的是 站點管理(Site Admin)的鏈接。
<?php wp_loginout(); ?> 不會產生列表元素標簽,所以需要我們手工輸入列表元素標簽,當你沒有登錄的時候,得到的是 登錄(Login) 的鏈接,當已經登錄的時候,得到的是登出(Logout)鏈接。
<?php wp_meta(); ?>
<li>
<h2><?php _e('Meta'); ?></h2>
<ul>
<?php wp_register(); ?>
<li>
<?php wp_loginout(); ?>
</li>
<?php wp_meta(); ?>
</ul>
</li>
上面的功能基本告一段落了。
上一下完整的代碼:
style.css的完整代碼如下:
/* Theme Name: daliu_it Theme URI: http://www.cnblogs.com/liuhongfeng/ Description: ITbolg Version: 1.0 Author: daliu_it Author URI: http://www.cnblogs.com/liuhongfeng/ */
index.php的完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <title> <?php bloginfo('name'); ?> <?php wp_title(); ?> </title> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please --> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <?php wp_get_archives('type=monthly&format=link'); ?> <?php //comments_popup_script(); // off by default ?> <?php wp_head(); ?> </head> <body> 1.調用博客鏈接: <a href="#"><?php bloginfo('name'); ?></a> </br> 2.博客名加上鏈接 : <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> </br> 3.給博客的標題添加 H1 的標簽: <h1 ></a><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1> </br> 4.添加博客描述 <h1 ></a><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1> <?php bloginfo('description'); ?> <br/> 5.添加 DIV 標簽 <div> <h1 > <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> </h1> <?php bloginfo(’description’); ?> </div> <br/> 6.添加 Header DIV 標簽 <div id=”header”> <h1 > <a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a> </h1> <?php bloginfo(’description’); ?> </div> <br/> 7.主循環代碼: <div id=”container”> <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?> <div class=”post” id=”post-<?php the_ID(); ?>”> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </div> <div class=entry> <?php the_content(); ?> <p class="postmetadata"> <?php _e('Filed under:'); ?> <?php the_category(', ') ?> <?php _e('by'); ?> <?php the_author(); ?><br /> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?> <?php edit_post_link('Edit', ' | ', ''); ?> </p> </div> <?php endwhile; ?> <?php endif; ?> <div class="post" id=”post-<?php the_ID(); ?>” > <?php _e('NOT Found'); ?> </div> <div class="navigation"> <?php posts_nav_link('in between','before','after'); ?> </div> </div> 8. 側邊欄 <div class="sidebar"> <ul> <li id="search"> <?php include(TEMPLATEPATH . '/searchform.php'); ?> </li> <li id=”calendar”> <?php _e('Calendar'); ?> <?php get_calendar(); ?> </li> <li> <h2><?php _e('Meta'); ?></h2> <ul> <?php wp_register(); ?> <li> <?php wp_loginout(); ?> </li> <?php wp_meta(); ?> </ul> </li> <?php wp_list_pages('depth=3&title_li=<h2>Pages</h2>'); ?> <li> <h2><?php _e('Categories'); ?></h2> <ul> <?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?> </ul> </li> <li> <h2><?php _e('Archives'); ?> </h2> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> </li> <?php get_links_list(); ?> </ul> </div> </body> </html>
searchform.php的完整代碼如下:
<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
<div>
<input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" size="15" /><br />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>
8. functions.php 的應用
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar() ) : else : ?>
<?php endif; ?>
9. 底部信息,版權之類。
<div id=”footer”>
<p>
Copyright © 2014 <?php bloginfo(’name’); ?>
</p>
</div>
