1. 程式人生 > >WordPress常用的函式、方法,判斷是否是首頁、文章頁等函式

WordPress常用的函式、方法,判斷是否是首頁、文章頁等函式

選擇使用 WordPress來搭建部落格,主要原因便在於 WordPress有較高的流行度,還有各種圍繞其進行的 開發的擴充套件功能應有盡有,基本上可以說我們在部落格建設中所需的任何功能,都已有人想到並得到實現,讓你不必在部落格具體的技術實現及功能擴充套件方面投入過多的精力,而更專注於內容建設。

本文以技術手冊的方式簡單彙總 WordPress主題模板的基本資料,希望能對 WordPress 主題模板 開發的朋友解渴。

WordPress 主題模板基本檔案

一套完整的 WordPress 主題模板應至少具有如下檔案:,WordPress基本模板檔案,WordPress模板必備檔案:

01
style.css : CSS(樣式表)檔案 02 index.php : 主頁模板 03 archive.php : Archive/Category模板 04 404.php : Not Found 錯誤頁模板 05 comments.php : 留言/回覆模板 06 footer.php : Footer模板 07 header.php : Header模板 08 sidebar.php : 側欄模板 09 page.php : 內容頁(Page)模板 10 single.php : 內容頁(Post)模板 11 searchform.php : 搜尋表單模板 12 search.php
: 搜尋結果模板

基本條件判斷Tag

01  is_home() : 是否為主頁
02  is_single() : 是否為內容頁(Post)
03  is_page() : 是否為內容頁(Page)
04  is_category() : 是否為Category/Archive頁
05  is_tag() : 是否為Tag存檔頁
06  s_date() : 是否為指定日期存檔頁
07  is_year() : 是否為指定年份存檔頁
08  is_month() : 是否為指定月份存檔頁
09  is_day() : 是否為指定日存檔頁
10  is_time() : 是否為指定時間存檔頁
11  is_archive() : 是否為存檔頁
12
is_search() : 是否為搜尋結果頁 13 s_404() : 是否為 “HTTP 404: Not Found” 錯誤頁 14 is_paged() : 主頁/Category/Archive頁是否以多頁顯示

Header部分常用到的PHP 函式

01  <!--?php bloginfo (’name’); ?--> : 部落格名稱(Title)
02  <!--?php bloginfo (’stylesheet_url’); ?--> : CSS檔案路徑
03  <!--?php bloginfo (’pingback_url’); ?--> : PingBack Url
04  <!--?php bloginfo (’template_url’); ?--> : 模板檔案路徑
05  <!--?php bloginfo (’version’); ?--> : WordPress版本
06  <!--?php bloginfo (’atom_url’); ?--> : Atom Url
07  <!--?php bloginfo (’rss2_url’); ?--> : RSS 2.o Url
08  <!--?php bloginfo (’url’); ?--> : 部落格 Url
09  <!--?php bloginfo (’html_type’); ?--> : 部落格網頁Html型別
10  <!--?php bloginfo (’charset’); ?--> : 部落格網頁編碼
11  <!--?php bloginfo (’description’); ?--> : 部落格描述
12  <!--?php wp_title(); ?--> : 特定內容頁(Post/Page)的標題

模板常用的PHP 函式及命令

01  <!--?php get_header(); ?--> : 呼叫Header模板
02  <!--?php get_sidebar(); ?--> : 呼叫Sidebar模板
03  <!--?php get_footer(); ?--> : 呼叫Footer模板
04  <!--?php the_content(); ?--> : 顯示內容(Post/Page)
05  <!--?php the_excerpt(); ?-->: 顯示摘要
06  <!--?php if (have_posts()) : ?--> : 檢查是否存在Post/Page
07  <!--?php while (have_posts()) : the_post(); ?--> : 如果存在Post/Page則予以顯示
08  <!--?php endwhile ; ?--> : While 結束
09  <!--?php endif ; ?--> : If 結束
10  <!--?php the_time(’字串’) ?--> : 顯示時間,時間格式由“字串”引數決定,具體參考PHP手冊
11  <!--?php comments_popup_link(); ?--> : 正文中的留言連結。如果使用 comments_popup_script() ,則留言會在新視窗中開啟,反之,則在當前視窗開啟
12  <!--?php the_title(); ?--> : 內容頁(Post/Page)標題
13  <!--?php the_permalink() ?--> : 內容頁(Post/Page) Url
14  <!--?php the_category(’, ‘) ?--> : 特定內容頁(Post/Page)所屬Category
15  <!--?php the_author(); ?--> : 作者
16  <!--?php the_ID(); ?--> : 特定內容頁(Post/Page) ID
17  <!--?php edit_post_link(); ?--> : 如果使用者已登入並具有許可權,顯示編輯連結
18  <!--?php get_links_list(); ?--> : 顯示Blogroll中的連結
19  <!--?php comments_template(); ?--> : 呼叫留言/回覆模板
20  <!--?php wp_list_pages(); ?--> : 顯示Page列表
21  <!--?php wp_list_categories(); ?--> : 顯示Categories列表
22  <!--?php next_post_link(’ %link ‘); ?--> : 下一篇文章連結
23  <!--?php previous_post_link(’%link’); ?--> : 上一篇文章連結
24  <!--?php get_calendar(); ?--> : 日曆
25  <!--?php wp_get_archives() ?--> : 顯示內容存檔
26  <!--?php posts_nav_link(); ?--> : 導航,顯示上一篇/下一篇文章連結
27  <!--?php include (TEMPLATEPATH . ‘/檔名’); ?--> : 嵌入其他檔案,可為定製的模板或其他型別檔案

與模板相關的其他 函式

1   <!--?php _e(’Message’); ?--> : 輸出相應資訊
2   <!--?php wp_register(); ?--> : 顯示註冊連結
3   <!--?php wp_loginout(); ?--> : 顯示登入/登出連結
4   <!--–next page–--> : 將當前內容分頁
5   <!--–more–--> : 將當前內容截斷,以不在主頁/目錄頁顯示全部內容
6   <!--?php timer_stop(1); ?--> : 網頁載入時間(秒)
7   <!--?php echo get_num_queries(); ?--> : 網頁載入查詢量

其它

1   <!--?php get_archives(’postbypost’, 10); ?--> 呼叫最近的10篇日誌
2   <!--?php
3   $rand_posts = get_posts(’numberposts=10&orderby=rand’);
4   foreach ( $rand_posts as $post ) :
5   ?-->
6   <li><a href= "”<?php" the_permalink();= "" ?= "" >”>
7   <!--?php the_title(); ?--></a></li>
8   <!--?php endforeach ; ?-->

隨機呼叫10篇日誌

1   <!--?php the_tags(’Post Tags :’, ‘, ‘, ‘<br /-->’); ?> 呼叫標籤
3   <!--?php if (get_the_tags()) the_tags(’Tags:’,’,’,’ end ’); ?-->

標籤存在時呼叫

1   <!--?php wp_tag_cloud(’smallest=1&largest=9&’); ?--> 呼叫標籤雲
2   <!--?php $posts = get_posts( “category=12&numberposts=4″ ); ?--> 獲得4篇12分類中的日誌

再來一些更詳細的判斷函式

1   <!--?php if (is_single()):?-->
2    
3   //這裡寫你想顯示的內容,包括函式
4    
5   <!--?php endif ;?-->

下面是直接來自wordpress.org

01  is_single() 判斷是否是具體文章的頁面
02  is_single(’17′) 判斷是否是具體文章(id=17)的頁面
03  is_single(’Beef Stew’) 判斷是否是具體文章(標題判斷)的頁面
04  is_single(’beef-stew’) 判斷是否是具體文章(slug判斷)的頁面
05  comments_open() 是否留言開啟
06  pings_open() 是否開啟ping
07  is_page() 是否是頁面
08  is_page(’42′) 同single,id判斷,即是否是id42的頁面
09  is_page(’About Me’) title判斷
10  is_page(’about-me’) slug判斷
11  is_category() 是否是分類
12  is_category(’6′) 同single,id判斷,即是否是id6的分類
13  is_category(’Cheeses’) title判斷
14  is_category(’cheeses’) slug判斷
15  in_category(’5′) 判斷當前的文章是否屬於分類5
16  is_author() 將所有的作者的頁面顯示出來
17  is_author(’1337′) 顯示author number為1337的頁面
18  is_author(’Elite Hacker’) 通過暱稱來顯示當前作者的頁面
19  is_author(’elite-hacker’)
20  is_date()
21  is_year()
22  is_month()
23  is_day()
24  is_time()
25  is_archive() 判斷當前是否是歸檔頁面
26  is_search() 判斷是否是搜尋
27  is_404() 判斷頁面是否404
28  is_paged() 判斷是否翻頁,比如你當前的blog是http: //domain.com,顯示http: //domain.com?paged=2的時候,這個判斷將返回真,通過這個函式可以配合is_home來控制某些只能在首頁顯示的介面,例如: if (is_home() && !is_paged() )