儘管這篇的題目是 搜尋框 (Search Form) 和 日曆 (Calendar),但是我同樣也會介紹 後設資料 (Meta) 。這一篇我們會結束常規的側邊欄,然後將在下一篇將介紹如何窗體化 (widgetize) 化側邊欄。

第 1 步:增加搜尋框

建立一個新檔案,然後把該空白檔案儲存為 searchform.php(當然是和 index.php 在同一個資料夾下) 。把 searchform.txt 中的內容複製到 searchform.php

在 index.php 檔案,在側邊欄的最頂部輸入以下程式碼:

<li id=」search」>
<?php include(TEMPLATEPATH . 『/searchform.php』); ?>
</li>

儲存並重新整理瀏覽器,結果如下:

剛才發什麼了呢?

  • <li id=」search」> – 開始一個名字為 search 的列表元素,給它一個 ID,這樣就能夠以後樣式化它。
  • include() – 匯入任何你想匯入的檔案。這和使用 WordPress 模板函式去呼叫模板檔案是不同的,因為 include() 只是簡單匯入已經存在的檔案。這裡是呼叫在 searhform.php 檔案中的程式碼。被匯入的資訊應該在一個部落格上基本不會被改變的。
  • TEMPLATEPATH – 主題資料夾的位置,這裡是:wp-content/themes/tutorial
  • 『/searchform.php』 – 檔名:/searchform.php
  • 在 TEMPLATEPATH 和 「/searchform.php」 中間的把它們連線起來,所以最終得到:
    wp-content/themes/tutorial/searchform.php
  • </li> – 結束列表元素

注意,搜尋框不像分類,歸檔,頁面或者 Blogroll 一樣有子標題。當然如果你願意,也可以給它一個子標題。

第 2 步:增加日曆

在搜尋框或者頁面連結列表下面輸入以下程式碼:

<li id=」calendar」><h2><?php _e(』Calendar』); ?></h2>
<?php get_calendar(); ?>
</li>

儲存並重新整理瀏覽器,結果如下:

發生了什麼?

  • <li id=」calendar」> – 開始一個 ID 為 「Calendar」 的列表元素
  • <h2> – 開始一個子標題
  • <?php _e(』Calendar』); ?> – 輸出 Calendar 這個詞
  • </h2> – 關閉子標題
  • get_calendar() – 使用 get_calendar() 這個 WP 函式呼叫日曆
  • </li> – 結束列表元素

這樣日曆就完成了

第 3 步:增加後設資料

在 get_links_list() 函式下輸入以下程式碼:

<li><h2><?php _e(』Meta』); ?></h2>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>

儲存並重新整理瀏覽器,結果如下:

(如果你沒有登入 WordPress)

(如果你已經登入)

那麼這是怎麼回事呢?

你開始一個列表元素 (LI),跟著是一個子標題 (H2)Meta 。在子標題下,嵌入了一個無序列表 (UL) 。最後把每個連結都放入了列表元素中 (LI) 。

wp_register() 這個函式能產生一組 <li> 和 </li> 標籤,如果你沒有登陸,它顯示註冊 (Register)連結,如果登入了,它顯示的是 站點管理 (Site Admin)的連結。
wp_loginout() 不會產生列表元素標籤,所以需要我們手工輸入列表元素標籤,當你沒有登入的時候,得到的是 登入 (Login) 的連結,當已經登入的時候,得到的是登出 (Logout)連結。

到目前為止,wp_meta() 沒有做任何事情,他在網頁上和原始碼中都不會產生東西,現在不要考慮 wp_meta(),實際上你已經在使用它了。

到此為止,我們已經完成 Meta 並最終完成了常規的側邊欄。