做一個(gè)wordpress留言板很簡(jiǎn)單,我們知道一般可以用新建一個(gè)主題名字叫“留言板”的頁(yè)面,讓訪客以評(píng)論留言的方式來(lái)實(shí)現(xiàn)。但是這種方式建立的留言板,其實(shí)是一個(gè)一般主題(post)或頁(yè)面(page),因此缺乏進(jìn)一步定制的功能,而且提示文字也全部是“評(píng)論”
要做一個(gè)可定制的留言板其實(shí)很簡(jiǎn)單,只需要5步,那就讓我們開(kāi)始吧:)
如果你滿足下列要求,請(qǐng)繼續(xù),
- 你有主機(jī)文件存儲(chǔ)權(quán)限(一般博客服務(wù)提供商可能沒(méi)有提供此權(quán)限).
- 你可以以admin權(quán)限登錄后臺(tái)(一般都有吧)
- 你大概知道點(diǎn)HTML和PHP文本形式的差別(定制部分需要修修改改,當(dāng)然不難,只要認(rèn)得出什么是html文本,什么是php文本就及格).
一:制作留言板模板:
1)找到你博客模板目錄中的single.php文件(一般你的模板目錄是在/wp-content/themes/博客模板名稱/);復(fù)制single.php并重命名為guestbook.php,這樣做的目的是我們希望留言板能保持博客的基本布局如:頁(yè)面頭部,頁(yè)腳和側(cè)邊欄。因此最好的方式就是復(fù)制用來(lái)顯示單篇主題的頁(yè)面模板文件single.php
2)用一款合適的文本編輯器(如:editplus,ultraedit,notepad2,之所以沒(méi)說(shuō)windows自帶的notepad是因?yàn)樗鼘?duì)UTF-8的編碼方式支持不好);打開(kāi)guestbook.php 在文件頭部找到如下php代碼:
-
<?php get_header(); ?>
在此語(yǔ)句前加一段僅帶注釋語(yǔ)句的模板標(biāo)識(shí),這里我們將頁(yè)面模板名字(Template Name)定義為Guestbook,這個(gè)名字在下面會(huì)有用到。
-
<?php
-
/*
-
Template Name: Guestbook
-
*/
-
?>
OK,簡(jiǎn)單吧,留言板的頁(yè)面模板文件就做好了。
3)將修改后的guestbook.php上傳到博客模板目錄(/wp-content/themes/博客模板名稱/)下
二:在后臺(tái)創(chuàng)建留言板
4)以具有admin權(quán)限的賬號(hào)登錄,新建一個(gè)頁(yè)面,在主題名稱處輸入“留言板”,在內(nèi)容處像往常寫(xiě)博客主題一樣輸入些內(nèi)容,如:請(qǐng)留下寶貴意見(jiàn)和建議等等
5)很重要的一步:在右側(cè)頁(yè)面模板(page template)處,選擇剛才創(chuàng)建的guestbook頁(yè)面模板,發(fā)布(publish),完成。
去自己的博客主頁(yè)看看,根據(jù)博客模板的不同,留言板會(huì)以Tab方式或者側(cè)欄鏈接的方式顯示。
三:把留言板做的更完美
通過(guò)上面的5步,你已經(jīng)擁有一個(gè)留言板了,但是這和新建主題/頁(yè)面生成的留言板沒(méi)什么區(qū)別。別急,因?yàn)槲覀兊牧粞园迨歉鶕?jù)自建的guestbook頁(yè)面模板生成的,所以做適當(dāng)?shù)男扌薷母木涂梢粤耍疫@并不會(huì)影響到其他一般主題或頁(yè)面的顯示
1)去掉發(fā)布日期:
如果你不希望你的留言板主題顯示如一般主題那樣的發(fā)布日期,那么在guestbook.php中找到如下代碼并刪除。
-
<?php the_time(‘Y/m/d’) ?>
-
//根據(jù)不同模板不同可能有點(diǎn)不同,比如可能是
-
<?php the_time(‘M’) ?>
2)自定義“留言”樣式的提示文本
因?yàn)槠渌黝}或頁(yè)面的評(píng)論都是用到comments.php來(lái)顯示和輸入評(píng)論的,不能把那些地方的“評(píng)論”也改成“留言”了。
因此復(fù)制一份comments.php并命名為guestcomments.php,就在guestcomments.php上修修改改吧
把所有“X comments”(xxx條評(píng)論)改成“X guestbook entries”(xxx條留言)
把“Post Comment”(發(fā)布評(píng)論)按鈕的提示改成“Sign Guestbook”(發(fā)布留言)
3)最新留言顯示在頂部
按照評(píng)論方式的留言,總是最新的留言排在最下面,如果我們希望最新的留言顯示在最上面,可以這么做
在guestcomments.php中找到如下代碼:
-
foreach ($comments as $comment)
替換成
好啦,自定義的留言文本和顯示方式據(jù)改好了,最后別忘了把guestcomments.php上傳到你的博客模板目(/wp-content/themes/博客模板名稱/)下
4)僅僅修改上面的2),3);原來(lái)的guestbook.php并不知道你想啟用新的留言和顯示方式,所以我們還是要回到guestbook.php(不會(huì)那么快忘記這個(gè)文件吧:) )
找到如下代碼:
-
<?php comments_template(); ?>
替換成
-
<?php comments_template(‘/guestcomments.php’); ?>
四:還有什么花樣嗎?
因?yàn)槲覀冇玫氖莋uestbook.php作為留言板的頁(yè)面模板,相比一般主題/頁(yè)面生成的留言板, 通過(guò)修改guestbook.php, 我們能獲得更多的功能和提示,因?yàn)槲覀兡茉诖宋募屑尤雙hp語(yǔ)句,可以是自編的,也可以是其他插件中引用過(guò)來(lái)的函數(shù)。
這也給了我們一個(gè)啟示,就是通過(guò)自定義頁(yè)面模板的方式,我們可以定義一個(gè)全新頁(yè)面,可以保留側(cè)欄(sidebar),頁(yè)腳(foot),也可以不保留,然后在內(nèi)容(content)部分加入自己的php代碼。比如,我將Popularity Contest(主題流行程度)插件的輸出函數(shù)放在自定義的頁(yè)面模板中,做成一個(gè)類似于抓蝦的熱文(top rank)頁(yè)面,由訪客的瀏覽行為自動(dòng)排序出該博客內(nèi)的熱門(mén)主題榜單。我的熱文示例:http://www./stats
本文翻譯修改自”alleba blog>>How to Create a Wordpress Guestbook Reloaded“