1.bloginfo()
顧名思義,該函數主要用來顯示博客信息;而且根據參數的不同,可以用來顯示博客信息中的不同部分。常用的有以下幾種:
bloginfo(’name’) 顯示博客題名,如“本站”;默認(不寫參數)輸出該項;
bloginfo(’description’) 顯示博客描述部分,如“路漫漫其修遠兮,吾將上下而求索”;
bloginfo(’url’) 輸出博客URL地址,如http://www.cmsjzy.cn;
bloginfo(’rss2_url’) 顯示博客的RSS2.0 feed地址,如http://www.cmsjzy.cn/feed;
bloginfo(’template_url’) 用來獲取WordPress博客的模板地址;
bloginfo(’charset’) 顯示博客的編碼方式,如“UTF-8”;
一種常見的使用bloginfo()函數的組合如下:
” title=”” >
這種形式通常會用來添加博客的底部信息,如Copyright @ 本站,經常在主題模板中使用。
需要注意的是bloginfo()函數只能輸出顯示這些參量,如果你想在PHP語句中使用得到的這些值,則需使用get_bloginfo()函數,該函數和bloginfo()使用相同的參數,獲得相同的結果。
2.wp_title()
該函數用來顯示頁面的標題,如在文章頁面,則顯示文章標題;在分類頁面,則顯示分類名稱;等等。
wp_title()函數可以跟三個參數,即wp_title(’separator’,echo,seplocation),其中 separator是title和其余部分之間的分割符號,默認是>>;echo是個bool變量,取true顯示標題,取false則將標 題作為一個PHP參量返回;seplocation定義分隔符的位置,取right定義分隔符在標題后面,取其他任何值,都表示將分隔符放在標題前面。
3.wp_get_archives()
該函數用來獲取博客的文章存檔,通過設置函數的參數,可以按各種方式獲取,如按月,按年等等。
wp_get_archives()函數后面同樣可以跟多種參數,只不過所有參數都需要使用&連接,并放在單引號(’)中以字符串方式傳遞給函 數,形如wp_get_archives(’type=monthly&format=html& show_post_count=1&limit=10′)。
如上的參數意義描述如下:
type=monthly表示按月顯示文章存檔,可以使用yearly、daily、weekly等代替monthly表示按年、日、以及周顯示文章存檔;
# format=html表示使用通常的HTML中格式化文章列表;
show_post_count=1表示在文章存檔后面顯示屬于該類別(年、月等)的文章數量,該參量是個bool值;
limit=10表示顯示的文章存檔的最大數量為10,超過次數,則超出部分不顯示;
盡管參數稍多,顯得略為復雜,但其實只需注意type、show_post_count以及limit等三個參量即可。
4.wp_list_categories()
和wp_get_archives()函數類似,wp_list_categories()函數用來獲取博客文章的分類信息,并可以通過設置適當的函數參 數,將其顯示出來。該函數的參數和wp_get_archives()函數類似,都需要使用&連接,放在單引號 (’)中以字符串方式傳遞。形如wp_get_archives(’orderby=name&order=ASC& show_count=1&use_desc_for_title=1&feed=訂閱&exclude=2,5& number=10′)。
如上示例中,函數各參數的意義如下:
orderby=name表示按照分類名稱的字母先后順序顯示分類信息,可以將name換為ID等;
order=ASC表示按照分類名稱的字母的升序顯示分類信息,將ASC改為DESC表示按降序;
show_count=1在每個分類名稱后面顯示屬于該分類的文章數;
use_desc_for_title=1使用該分類的描述信息為每個分類名稱超鏈接添加一個title屬性;
feed=訂閱:在每個分類信息旁邊添加一個名為“訂閱”的超鏈接,提供該分類的RSS訂閱;
exlude=2,5:在顯示的分類中去除ID為2和5的分類;也可以用include=2,5表示只顯示ID為2和5的分類;
number=10:表示只顯示最先的10個分類。
5.get_the_category()
get_the_category()函數用來返回當前文章所屬的類別的若干屬性所組成的一個數組,該數組包括以下內容:
cat_ID:當前類別的ID(也可以寫作’term_id’);
cat_name:當前類別的名稱(也被寫作’name’);
category_description:當前分類的描述(也可以寫作’description’);
category_count:屬于當前分類的文章數量(也被寫作’count’)。
具體的使用方法,我們通過下面的幾個句子來說明:
形如get_the_category()->cat_ID的語句,返回當前文章所屬分類的ID號;
形如get_the_category()->description的語句,返回當前文章所屬分類的描述;等等。
6.the_category()
該函數返回當前文章所屬的類別名稱,而且是文章類別的超鏈接形式。
默認的無參數形式the_category()直接以超鏈接形式顯示類別名稱,顯示為:精品推介;
可以在函數中跟上分隔符等參數來格式化輸出,如the_category(’-’),若當前文章屬于兩個以上分類,可以顯示這樣的形式:精品推介-經驗知識;如只屬于一個分類,則顯示為這樣的形式:精品推介。
7.category_description()
該函數以分類的ID為輸入,得到該分類的描述。常和echo、get_the_category()配合使用,將當前分類描述輸出:
echo category_description(get_the_category()->cat_ID);
如上語句,get_the_category()得到保存有當前分類信息的一個數組;cat_ID為該數組中該分類的ID;將該ID輸入給category_description()函數,即可得到該分類的描述;然后使用echo將其輸出。
但經本站試驗,使用如下的語句可以實現和上面語句相同的功能:
echo category_description();
這可能是因為該函數在默認無參數輸入的情況下會輸出當前分類描述的結果。
8.is_home()
is_home()用以判斷當前顯示的博客頁面是否是博客首頁,返回的是一個Bool值。如果是在首頁,則返回TRUE;否則返回FALSE。
該函數常用來控制博客側邊欄的顯示方式,經常使用如下代碼段:
9.is_archive()
is_archive()用以判斷當前顯示的內容是否是博客存檔頁面,比如按日期的存檔,或者按分類的存檔,等等;其和is_home()函數一樣,返回一個Bool值。
10.is_page()
is_page()函數判斷當前顯示的內容是否是博客的獨立頁面(page),如“本站WordPress”、“關于本站”等頁面;它也返回一個Bool值。
我們可以在模板中通過該函數判斷當前是否是一個獨立頁面,從而決定是否為當前顯示的文章顯示發布時間等等。
11.is_paged()
該函數用以判斷當前文章是否因為內容過多而分頁顯示;需要注意的是,如果你在寫文章時手動添加了標簽,來強制分頁的話,該函數并不會因此而返回TRUE。
12.is_page_template()
is_page_template()函數需要跟一個參數,通常以如下方式使用:
is_page_template(’guestbook.php’);
藉此判斷當前顯示的獨立頁面(page)是否使用了參數所示的模板guestbook.php;如果不跟參數,函數返回當前獨立頁面是否使用了模板。
13.is_single()
is_single()用以判斷當前顯示的頁面內容是否是一篇單獨的文章。其后面可以跟三種參數,一種是文章ID;一種是文章題目(title);一種是 文章名稱(slug,文章題目的一種簡短說明形式);或者可以將三種參數組合使用,藉此來判斷當前頁面內容是否是具體的某篇文章。
一個簡單的例子如下,我們可以通過如下幾種方式判斷當前顯示的內容是否是本文:
is_single(’808′ );is_single(’用好WordPress不可不知的函數(二)’);is_single(’functions-must-known- using-wordpress-second’);is_single(’808′,’用好WordPress不可不知的函數 (二)’,’functions-must-known-using-wordpress-second’);
在這里,本站需要對上述最后一種方式做些說明:該函數后跟三個參數時,有優先級,如果第一個參數符合條件,則返回TRUE;否則,則返回FALSE;貌似后面的參數并沒有什么意義。
14.is_category()
該函數用以判斷當前顯示的頁面內容是否是一個分類頁面,如網站相關;其中無需參數。函數返回一個Bool值。
15.is_tag()
is_tag()用以判斷當前顯示的頁面是否是一個標簽頁面,比如WordPress;其后也不需要跟參數。該函數同樣返回一個Bool值。
16.is_date()
此函數用以判斷當前顯示的內容是否為按時間歸檔的頁面,比如2009年四月,或者2009年4月8日,等等。
17.is_day()、is_month()、is_year()
這些函數用以判斷當前顯示的內容是否為按天、按月、按年份歸檔的頁面。它們和is_date()類似,只不過將歸檔時間更具體化而已。
18.is_author()
該函數用以判斷當前顯示的內容是否為以作者名歸檔的頁面,比如本站的admin作者頁面。
19.is_admin()
is_admin()函數用以判斷當前是否在控制面板頁面,或者管理員面板頁面。
20.get_bloginfo()
該函數和我們前面的文章用好WordPress不可不知的函數(一)中介紹的bloginfo()函數實現近乎相同的功能。主要用來顯示博客的信息;而且根據后跟參數的不同,會輸出博客的不同信息。
其后不跟參數時,get_bloginfo()可以顯示博客名稱,形如“本站”;
后跟其他參數時,可以顯示對應的信息,比如get_bloginfo ( ‘description’ )用以顯示博客描述信息;
其他還可以使用的參數包括name、url、wpurl以及admin_email等等。但因為其與bloginfo()函數實現相同的結果,所以,在bloginfo能夠實現的情況下,本站不推薦使用get_bloginfo()函數。
21.query_posts()
query_posts()函數結合適當的參數用來控制哪些文章會在頁面上顯示。
形如query_posts(”cat=3,6&cat=-5,-10″)表示取分類ID為3和6的文章顯示,不取分類ID為5和10的文章顯示;
形如query_posts(”order=ASC&showposts=10&offset=1&orderby=date&posts_per_page=5″)意義如下:
order=ASC表示按照升序排列,取為DESC則表示按降序;
showposts=10則表示獲取10篇文章;
offset=1表示取最新的文章;
orderby=date表示將文章按照日期排序;
posts_per_page=5表示每頁顯示5篇文章。
需要注意的是該函數只是將文章內容從MySQL數據庫中查詢出來,要將其顯示,還需要與其他語句配合,比如一個經常在側邊欄中使用的形式如下:
如上的這段代碼用以在側邊欄的指定位置上顯示最新的5篇文章。
query_posts()函數后面可以跟眾多種類的參數,功能十分強大,在此,我們不進行過多介紹。如果時間和精力允許,本站會在以后的文章中專門撰文詳細地為朋友們做一介紹。
22.get_posts()
該函數和query_posts()函數功能大體相同,都是用來從數據庫中查詢并得到符合某條件的文章。不過get_posts()函數的使用有一個固定的形式,如下:
” id=”post-”>
即首先使用get_posts()函數查詢得到文章數據,然后使用形如foreach($lastposts as $post) : setup_postdata($post);的循環將查詢得到的文章內容顯示出來。
get_posts()函數使用和query_posts()函數相同的參數,在此我們也不再作詳細介紹。
23.wp_list_cats()
該函數和前文用好WordPress不可不知的函數(一)中wp_list_categories()函數實現相同的功能,不過在最新的WordPress版本中,此函數已經被棄用,其功能為wp_list_categories()函數完全取代。
24.get_calendar()
get_calendar()函數用以在WordPress上顯示日歷,日歷樣式和使用widget顯示的效果相同,如下圖所示:
其后可以跟一個BOOL參數,用以控制日歷上方星期的顯示樣式。但經本站測試,在中文狀態下,使用TRUE或FALSE參數,日歷的顯示效果并沒有什么區別。
25.wp_list_bookmarks()
該函數用來顯示博客的友情鏈接,并可以使用各種參數來控制顯示的數量、種類以及樣式等等。
形如wp_list_bookmarks(’title_li=&categorize=0&orderby=rand&include=41,40,37,54′);的形式,意義解釋如下:
title_li=&categorize=0是一種通常使用的組合,意為不顯示WordPress后臺控制面板中設置的友情鏈接標題,但所有友鏈都按照設置的分類顯示出來;單獨的一個title_li=還可以用來設置被顯示友鏈的類別名稱;
orderby=rand設置友鏈的顯示方式為隨機順序,當然,還可以設置為其他的方式,比如id、url、name等等;
include=41,40,37,54表示只顯示ID為這四個數字的四個友鏈;與此對應,還支持使用exclude,表示不顯示ID為多少的友鏈。
# 此外,該函數還經常用到的參數有before和after,用來設置每個鏈接前后的文字,默認的是和
標記。
26.get_links()、wp_get_links()
這兩個函數實現和25.wp_list_bookmarks()相同的功能,不過此二函數已在WordPress升級的過程中為25.wp_list_bookmarks()所取代。
27.wp_list_pages()
該函數以頁面名稱的超鏈接形式顯示WordPress博客內的所有頁面,經常用來建立頂端導航頁面,或用來修飾側邊欄。
形如wp_list_pages(’title_li=&sort_column=menu_order&include=12,25,38,57&depth=1&’);的函數調用,各參數意義如下:
title_li=用來設置所有顯示頁面的一個總名稱;后面沒有參數值時,表示不顯示名稱;
sort_column=menu_order用來設置頁面的顯示順序,表示按照WP后臺設置的各頁面順序顯示,其他的常用順序設置可能還包括post_title、post_date、ID等等;
include=12,25,38,57表示只顯示ID為這四個數值的四個頁面;同樣,可以使用exclude來排除相應ID的頁面;
depth=1表示只顯示父頁面,對所有子頁面不予顯示;其他數值還包括默認的0,表示顯示所有頁面(子頁面有縮進);-1顯示所有頁面(子頁面無縮進);等等。
此外,該函數可能會用到的屬性還包括link_before和link_after,用于設置顯示的頁面鏈接前后的字符。
28.wp_tag_cloud()
顧名思義,wp_tag_cloud()函數用來顯示WordPress博客的標簽云。
一種形如wp_tag_cloud(’smallest=8&largest=22&number=30&orderby=count’);的函數調用,各參數的意義如下:
smallest=8用來設置標簽云中顯示出來的所有標簽中,計數最少(最少文章使用)的標簽的字體大小為8;
largest=22用來設置標簽云的所有標簽中,計數最多(最多文章使用)的標簽的字體大小為22;
number=30設置標簽云中顯示的最多標簽數量為30;
orderby=count設置標簽云中標簽的排序方式為計數(默認),而不是名稱(相應參數為name,widget調用時的默認值)。
其他常用的參數還包括include和exclude,用來設置在標簽云中是否包含或去除ID為某數字的標簽。
29.wp_register()
wp_register()函數用以向管理員顯示“站點管理”超鏈接;或者當WP博客開放了注冊時,向未登陸的用戶顯示“注冊”超鏈接。
該函數不需要什么參數,唯一可能用到的參數形式如wp_register(’前’,’后’),可以在如上顯示的超鏈接文字的前后分別顯示一個“前”字和一個“后”字。當然,你可以據此發揮想象力來個性化自己網站的管理或注冊鏈接。
30.wp_loginout()
該函數用來在指定位置顯示一個“登錄”鏈接;當然,如果你已經登錄過了,則會相應地顯示一個“退出”鏈接。此函數后面不使用任何參數,所以無法進行靈活的自定義。
不過如果你想自定義自己的WP博客的登錄或退出鏈接文字的話,還是可以使用下面31中 本站 介紹的函數wp_logout_url()和wp_login_url()。
31.wp_logout_url()、wp_login_url()
使用如上30中的函數盡管可以方便地為WP博客設置登錄、退出鏈接,但自定義不夠靈活。所以,從WordPress 2.7版本開始,提供了這里的兩個函數。它們分別用來獲取WP博客退出或登錄超鏈接,然后,我們使用獲得的超鏈接即可編寫如下代碼,來對WP博客的登錄和 退出鏈接進行靈活設置:
”>點擊這里退出
”>點擊這里登錄
當然,要想實現完美的效果,還需要對訪客的登錄狀態進行判斷,使用一個if語句,根據登錄狀態顯示相應的菜單項。
32.wp_meta()
該函數通常會緊跟如上29、30中的函數后面,其具體在直觀顯示上沒有什么異樣,貌似是WP主題為WP插件留下的API Hook,本站建議朋友們在如上函數后面跟上這一函數。
33.get_recent_posts()
該函數只有當你安裝了中文WordPress工具箱之后,才能使用。其作用是用來獲取最新日志,函數原型如下:
# get_recent_posts($no_posts = 5, $before = ‘+ ‘, $after = ‘
’, $show_pass_post = false, $skip_posts = 0)
可以使用$no_posts控制顯示文章數量,$before和$after的意義和前面函數中相同;至于后兩個參數,一般不必設置,直接取默認值即可。
不過因為該函數與WordPress內置的get_posts()和query_posts()函數功能重復,所以通常情況下很少使用。
34.get_recent_comments()
其實安裝了如上的中文WordPress工具箱之后,最常使用的是這個函數,因為WordPress程序本身沒有內置獲取最新評論的函數。該函數原型如下:
# get_recent_comments($no_comments = 5, $before = ‘ ‘, $after = ‘
’, $show_pass_post = false)
意義顯然,和上面函數類似,本站此處不再贅言。
35.get_recentcomments()
該函數是在安裝了WP-RecentComments插件之后才具有的功能,與如上34中的函數類似。
該函數原型如下:
get_recentcomments(int num, int size)
36.wp_get_post_tags()
該函數用來在某個文章頁面或者根據某篇文章的ID來獲取該文章的tag,獲取的結果被放置到一個tag數組中。一個常見的使用方式如下:
if (is_single()){$keywords = “”;$tags = wp_get_post_tags($post->ID);foreach ($tags as $tag ) {$keywords = $keywords . $tag->name . “,”;}echo $keywords;}
首先判斷是否是單文章頁面,如果是,則據當前文章的ID($post->ID)來獲取當前文章的tag,然后取得其name($tag->name),并將其組合輸出。
37.single_cat_title()、single_tag_title()
如名所言,這兩個函數用來獲取分類頁面和tag頁面的title,其通常的使用方式如:
然而,除此之外,single_cat_title()還可以用來在tag頁面上獲取當前頁面的title;但single_tag_title()卻不可用于獲取分類頁面的title。
38.get_settings()、get_option()
此二函數與前文用好WordPress不可不知的函數(三)中函數20.get_bloginfo()類似,使用方法也相同,可以通過后跟各種參數來獲取WordPress博客的相關信息。
比如如下的調用方式:
get_settings(’name’)或get_option(’name’)
可以用來獲取當前WordPress博客的標題。
39.wp_head()
該函數與前文32.wp_meta()相同,是WP主題為WP插件留下的API Hook。
40.get_header()、get_footer()、get_sidebar()和comments_template()
這幾個函數是用來在wordpress主題中獲取并包含相應的文件的。比如:
get_header()用來包含當前主題文件夾下的header.php;
get_footer()用來包含主題文件夾下的footer.php;
get_sidebar()用來包含主題文件夾下的sidebar.php;
comments_template()用來包含comments.php。
需要注意的一點是,如果當前主題文件夾下缺少對應的文件,則函數會使用wp-content/themes/default/文件夾下的對應文件代替。
此外,以上函數后面都不能跟參數,只有get_sidebar()例外,因為一個主題中可以使用多個sidebar。形如get_sidebar(’up’)的調用方法可將sidebar-up.php側邊欄模板文件包含到主題中。
除了以上幾個函數之外,在主題中如果想包含一個具體的文件,還可以使用如下方式:
include(TEMPLATEPATH . ‘/***.php’)
如上的函數形式可以將當前主題文件夾下名為***.php的文件包含進來;其中TEMPLATEPATH是當前主題文件夾地址的一個引用(不含末尾的/,所以需要添加上)。
41.have_posts()、the_post()
這兩個函數的使用范圍有限,通常在WordPress的循環中使用,用以獲取所有文章。其固定使用形式如下:
此處顯示文章此處顯示未找到文章時的信息,比如404相關
另一種常見的形式是將如上代碼中的前兩行組合起來(其他地方不變):
該形式通常會在模板的index.php、archive.php或者single.php等頁面使用。除此之外的其他地方,我們通常不會看到此二函數的身影。
42.the_title()、the_title_attribute()
the_title()函數主要用來獲取當前文章的title,其后可以跟上三個參數(可全部省略,取默認值),調用形式如下:
參數before用來設置在獲取的title前面顯示的字符內容;after用來設置title其后顯示的內容;而display是一個Bool值,用于控制獲取的title是否顯示出來。
the_title_attribute()函數與the_title()類似,其使用方法如下:
the_title_attribute(’before=前&after=后&echo=true’)
其中before=和after=分別用于設置title前面和后面顯示的字符;echo=true或者false用戶設置獲取的title字符串是否顯示出來。
形如或the_title_attribute(’before=當前文章&after=的評論:&echo=true’)的調用形式將會顯示如下的結果:
當前文章用好WordPress不可不知的函數的評論:
43.single_post_title()、single_tag_title()、single_cat_title()
44.the_ID()
該函數后面不跟任何參數,使用如下所示的調用方式:
用于獲取并顯示當前文章頁面的ID號。不過需要特別注意的一點是,該函數只能在WordPress的大循環內使用,在其他地方使用可能也會顯示ID號,但顯示的內容始終不會隨文章而改變。
此外,該函數通常還會在如下所示的CSS結構中使用:
可為博客中不同的作者設置不同的title樣式,以示區分。
45.get_the_ID()
該函數與44.the_ID()函數實現完全相同的功能,目前WordPress官方也沒有提供該函數的使用說明。你可以參閱如上44中對the_ID()函數的介紹。特別提醒一點,該函數與the_ID()類似,也只能在WordPress的大循環中才能正確使用。
46.the_time()、get_the_time()
the_time()用來獲取并顯示當前文章發布的時間,和上面幾個函數類似,此函數也是只能在WordPress的大循環中使用。
該函數后面可以跟控制日期或時間格式的參數,常用的參數形式如下:
如的調用形式顯示效果為:六月13, 2009(英文狀態下顯示June 13, 2009);
如的調用形式顯示效果為:7:09 下午(英文狀態下顯示7:09 pm);
如的調用形式顯示效果為:19:09。
事實上,除了使用the_time()函數之外,WordPress還提供了一個具有類似功能的get_the_time()函數。該函數除了不具有 the_time()函數的顯示功能之外,其余功能二者完全相同。使用get_the_time()函數時,如欲將獲取的時間顯示出來,需要使用專用語 句。
下面,我們籍此機會來簡單了解一下WordPress中時間的格式。在WordPress中,通常用于控制時間格式的有一下字符:l, F, j, S, Y, G, g, i, a等等,其詳細意義如下:
l(小寫L)用來顯示一周之中每一天的名稱,比如星期六,或者在英文中顯示Saturday;
F用來顯示月份名稱,比如六月,或者June;
j用來顯示一月之中的某一天,比如13;
Y用來以4位數字形式顯示年份,使用y則以末兩位數字顯示年份,比如2009或09;
G, g, i, a等四個字符通常組合使用,如前例子,有兩種形式:
g:i a以形如7:09 下午或7:09 pm的形式顯示時間;
G:i以形如19:09的24小時進制形式顯示時間。
S通常緊跟在j后面,表示是否在一月之中某天之后添加英文后綴(st, nd, th等)。
新聞熱點
疑難解答