儘管這篇的題目是 搜索框 (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 並最終完成了常規的側邊欄。