WordPress主題模板層次和常用模板函式

汪磊發表於2013-06-23

首頁:

  1. home.php
  2. index.php

文章頁:

  1. single-{post_type}.php – 如果文章型別是videos(即視訊),WordPress就會去查詢single-videos.php(WordPress 3.0及以上版本支援)
  2. single.php
  3. index.php

頁面:

  1. 自定義模板 – 在WordPress後臺建立頁面的地方,右側邊欄可以選擇頁面的自定義模板
  2. page-{slug}.php – 如果頁面的縮略名是news,WordPress將會查詢 page-news.php(WordPress 2.9及以上版本支援)
  3. page-{id}.php – 如果頁面ID是6,WordPress將會查詢page-6.php
  4. page.php
  5. index.php

分類:

  1. category-{slug}.php – 如果分類的縮略名為news,WordPress將會查詢category-news.php(WordPress 2.9及以上版本支援)
  2. category-{id}.php -如果分類ID為6,WordPress將會查詢category-6.php
  3. category.php
  4. archive.php
  5. index.php

標籤

  1. tag-{slug}.php – 如果標籤縮略名為sometag,WordPress將會查詢tag-sometag.php
  2. tag-{id}.php – 如果標籤ID為6,WordPress將會查詢tag-6.php(WordPress 2.9及以上版本支援)
  3. tag.php
  4. archive.php
  5. index.php

作者:

  1. author-{nicename}.php – 如果作者的暱稱為rami,WordPress將會查詢author-rami.php(WordPress 3.0及以上版本支援)
  2. author-{id}.php – 如果作者ID為6,WordPress將會查詢author-6.php(WordPress 3.0及以上版本支援)
  3. author.php
  4. archive.php
  5. index.php

日期頁面:

  1. date.php
  2. archive.php
  3. index.php

搜尋結果:

  1. search.php
  2. index.php

404 (未找到)頁面

  1. 404.php
  2. index.php

附件頁面:

  1. MIME_type.php – 可以是任何MIME型別 (image.php, video.php, audio.php, application.php 或者其他).
  2. attachment.php
  3. single.php
  4. index.php

WordPress主題 – 判斷Tag

is_home() : 是否為主頁

is_single()  : 是否為內容頁(Post)

is_page()  : 是否為內容頁(Page)

is_category()  : 是否為Category/Archive頁

is_tag()  : 是否為Tag存檔頁

is_date()  : 是否為指定日期存檔頁

is_year()  : 是否為指定年份存檔頁

is_month()  : 是否為指定月份存檔頁

is_day()  : 是否為指定日存檔頁

is_time()  : 是否為指定時間存檔頁

is_archive()  : 是否為存檔頁

is_search()  : 是否為搜尋結果頁

is_404()  : 是否為 “HTTP 404: Not Found” 錯誤頁

is_paged()  : 主頁/Category/Archive頁是否以多頁顯示

判斷Tag在WordPress主題裡常用於側邊欄(sidebar.php)模板檔案

WordPress主題 – Header 常用PHP函式

<?php bloginfo(‘name’); ?>  : 部落格名稱(Title)

<?php bloginfo(‘stylesheet_url’); ?>  : CSS檔案路徑

<?php bloginfo(‘pingback_url’); ?>  : PingBack Url

<?php bloginfo(‘template_url’); ?>  : 模板檔案路徑

<?php bloginfo(‘version’); ?>  : WordPress版本

<?php bloginfo(‘atom_url’); ?>  : Atom Url

<?php bloginfo(‘rss2_url’); ?>  : RSS 2.o Url

<?php bloginfo(‘url’); ?>  : 部落格 Url

<?php bloginfo(‘html_type’); ?>  : 部落格網頁Html型別

<?php bloginfo(‘charset’); ?>  : 部落格網頁編碼

<?php bloginfo(‘description’); ?>  : 部落格描述

<?php wp_title(); ?>  : 特定內容頁(Post/Page)的標題

WordPress主題 – 模板常用的PHP函式

<?php get_header(); ?>  : 呼叫Header模板

<?php get_sidebar(); ?>  : 呼叫Sidebar模板

<?php get_footer(); ?>  : 呼叫Footer模板

<?php the_content(); ?>  : 顯示內容(Post/Page)

<?php if(have_posts()) ” ?>  : 檢查是否存在Post/Page

<?php while(have_posts()) ” the_post(); ?>  : 如果存在Post/Page則予以顯示

<?php endwhile; ?>  : While 結束

<?php endif; ?>  : If 結束

<?php the_time(‘字串’) ?>  : 顯示時間,時間格式由“字串”引數決定,具體參考PHP手冊

<?php comments_popup_link(); ?>  : 正文中的留言連結。如果使用 comments_popup_script() ,則留言會在新視窗中開啟,反之,則在當前視窗開啟

<?php the_title(); ?>  : 內容頁(Post/Page)標題

<?php the_permalink() ?>  : 內容頁(Post/Page) Url

<?php the_category(‘, ’) ?>  : 特定內容頁(Post/Page)所屬Category

<?php the_author(); ?>  : 作者

<?php the_ID(); ?>  : 特定內容頁(Post/Page) ID

<?php edit_post_link(); ?>  : 如果使用者已登入並具有許可權,顯示編輯連結

<?php get_links_list(); ?>  : 顯示Blogroll中的連結

<?php comments_template(); ?>  : 呼叫留言/回覆模板

<?php wp_list_pages(); ?>  : 顯示Page列表

<?php wp_list_categories(); ?>  : 顯示Categories列表

<?php next_post_link(‘ %link ‘); ?>  : 下一篇文章連結

<?php previous_post_link(‘%link’); ?>  : 上一篇文章連結

<?php get_calendar(); ?>  : 日曆

<?php wp_get_archives() ?>  : 顯示內容存檔

<?php posts_nav_link(); ?> : 導航,顯示上一篇/下一篇文章連結

<?php include(TEMPLATEPATH . ‘/檔名’); ?> : 嵌入其他檔案,可為定製的模板或其他型別檔案

WordPress主題 – 與模板相關的其他函式

<?php _e(‘Message’); ?> : 輸出相應資訊

<?php wp_register(); ?> : 顯示註冊連結

<?php wp_loginout(); ?> : 顯示登入/登出連結

<!–next page-> : 將當前內容分頁

<!–more–> : 將當前內容截斷,以不在主頁/目錄頁顯示全部內容

<?php timer_stop(1); ?> : 網頁載入時間(秒)

<?php echo get_num_queries(); ?>: 網頁載入查詢量

相關文章