盡管這篇的題目是 搜索框(Search Form) 和 日歷(Calendar),但是我同樣也會(huì)介紹 元數(shù)據(jù)(Meta) 。這一篇我們會(huì)結(jié)束常規(guī)的側(cè)邊欄,然后將在下一篇將介紹如何窗體化(widgetize)化側(cè)邊欄。
第1步:增加搜索框
創(chuàng)建一個(gè)新文件,然后把該空白文件保存下來(lái) searchform.php(當(dāng)然是和 index.php在同一個(gè)文件夾下)。把 searchform.txt 中的內(nèi)容拷貝到 searchform.php。
在 index.php 文件,在側(cè)邊欄的最頂部輸入以下代碼:
<li id=”search”>
<?php include(TEMPLATEPATH . ‘/searchform.php’); ?>
</li>
保存并刷新瀏覽器,結(jié)果如下:
剛才發(fā)生什么了呢?
- <li id=”search”> – 開(kāi)始一個(gè)名字為 search 的列表元素,給它一個(gè) ID,這樣就能夠以后樣式化它。
- include() – 導(dǎo)入任何你想導(dǎo)入的文件。這和使用 WordPress 模板函數(shù)去調(diào)用模板文件是不同的,因?yàn)?include() 只是簡(jiǎn)單導(dǎo)入已經(jīng)存在的文件。這里是調(diào)用在searhform.php 文件中的代碼。被導(dǎo)入的信息應(yīng)該在一個(gè)博客上基本不會(huì)被改變的。
- TEMPLATEPATH – 主題文件夾的位置,這里是:wp-content/themes/tutorial
- ‘/searchform.php’ – 文件名:/searchform.php
- 在 TEMPLATEPATH 和 “/searchform.php” 中間的點(diǎn)把它們連接起來(lái),所以最終得到:
wp-content/themes/tutorial/searchform.php - </li> – 結(jié)束列表元素
注意,搜索框不像分類(lèi),歸檔,頁(yè)面或者 Blogroll 一樣有子標(biāo)題。當(dāng)然如果你愿意,也可以給它一個(gè)子標(biāo)題。
第2步:增加日歷
在搜索框或者頁(yè)面鏈接列表下面輸入以下代碼:
<li id=”calendar”><h2><?php _e(’Calendar’); ?></h2>
<?php get_calendar(); ?>
</li>
保存并刷新瀏覽器,結(jié)果如下:
發(fā)生了什么?
- <li id=”calendar”> – 開(kāi)始一個(gè) ID 為 “Calendar” 的列表元素
- <h2> – 開(kāi)始一個(gè)子標(biāo)題
- <?php _e(’Calendar’); ?> – 輸出 Calendar 這個(gè)詞
- </h2> – 關(guān)閉子標(biāo)題
- get_calendar() – 使用 get_calendar() 這個(gè) WP 函數(shù)調(diào)用日歷
- </li> – 結(jié)束列表元素
這樣日歷就完成了
第3步:增加元數(shù)據(jù)
在 get_links_list() 函數(shù)下輸入以下代碼:
<li><h2><?php _e(’Meta’); ?></h2>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>
保存并刷新瀏覽器,結(jié)果如下:
(如果你沒(méi)有登錄 WordPress)
(如果你已經(jīng)登錄)
那么這是怎么回事呢?
你開(kāi)始一個(gè)列表元素(LI),跟著是一個(gè)子標(biāo)題(H2) Meta。在子標(biāo)題下,嵌入了一個(gè)無(wú)序列表(UL)。最后把每個(gè)鏈接都放入了列表元素中(LI)。
wp_register() 這個(gè)函數(shù)能產(chǎn)生一組 <li> 和 </li> 標(biāo)簽,如果你沒(méi)有登陸,它顯示注冊(cè)(Register)鏈接,如果登錄了,它顯示的是 站點(diǎn)管理(Site Admin)的鏈接。
wp_loginout() 不會(huì)產(chǎn)生列表元素標(biāo)簽,所以需要我們手工輸入列表元素標(biāo)簽,當(dāng)你沒(méi)有登錄的時(shí)候,得到的是 登錄(Login) 的鏈接,當(dāng)已經(jīng)登錄的時(shí)候,得到的是登出(Logout)鏈接。
到目前為止,wp_meta() 沒(méi)有做任何事情,他在網(wǎng)頁(yè)上和源代碼中都不會(huì)產(chǎn)生任何東西,現(xiàn)在不要考慮 wp_meta(),實(shí)際上你已經(jīng)在使用它了。
到此為止,我們已經(jīng)完成 Meta 并最終完成了常規(guī)的側(cè)邊欄。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » WordPress主題開(kāi)發(fā)教程十四:搜索框和日歷