WordPress模板層次11:定製頁面模板
預設情況下,我們使用page.php檔案來輸出頁面的內容。這小節,我們學習如何定製特定的頁面模板。
預設的通用頁面模板page.php
開啟page.php檔案,並新增一個TEST測試程式碼:
<?php get_header(); ?>
<div class="container" role="main">
<div class="row">
<div class="col-md-8">
TEST/***這是新增的測試程式碼***/
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
重新整理Home頁面,可以看到新增的測試程式碼,這就說明了這裡使用的都是通用的 page.php 模板。
通過頁面id,定製頁面模板
例如,來到WordPress後臺,編輯About頁面,可以看到它的post值是115:
所以,開啟page.php模板,先刪除TEST程式碼,然後,將 page.php 另存為 page-115.php。
然後,在page-115.php中新增 TEST ABOUT 來測試它是否正常工作:
來到網站前臺,檢視About頁面,可以看到測試程式碼就出現在About頁面上。
但是,如果去到Home頁面,就沒有這個測試程式碼。因為Home頁面的ID不是115.
那麼這表明:可以通過使用頁面ID號來定製特殊頁面的輸出。
通過頁面名稱,定製頁面模板
實際上,這只是定製特殊頁面的一種方式,我們還可以通過頁面名稱來定製。
About頁面的名稱是About。所以我們把page-115重新命名為page-about.php,然後新增新的測試程式碼NEW ABOUT:
來到網站前臺,檢視About頁面,可以看到測試程式碼就出現在About頁面上。
同樣地,也可以驗證,它並沒有被應用於其他頁面。
自定義模板custom.php
其實,還有另一種方式,那就是建立一個所謂的自定義模板custom.php:
在主題中,我已經準備好了一個自定義頁面模板:page-full-width.php。
可以看到它看起來與其他的頁面完全一樣,不同的是:它沒有使用get_sidebar(),並且它的樣式是12列而不是8列:
在模板的最上方,可以看到,這裡有一個PHP註釋TemplateName,然後是模板的名稱Full Width:
<?php
/*
Template Name: Full Width
*/
?>
這裡需要特別提醒大家的一點是:如果我們以後建立任何模板檔案,大部分時候,我們會把註釋新增PHP檔案的頂部。有了註釋之後,當我們編輯一個頁面時,就可以看到在預設模板中,這個註釋對應的選項就可用。
所以,我們試著把About頁面的模板設定為:Full width,那麼,About頁面就使用的是自定義的page-full-width.php頁面模板。
這時,再檢視頁面,將會看到這個全寬模板正在顯示。
請注意,它也自動覆蓋了page-about.php模板,因為我們已經手動告訴WordPress:我們不想使用預設模板,而是使用自定義的全寬模板page-full-width.php。
也可以模板結構圖中看到,這裡的優先順序是從custom.php,到page-slug.php,再到page-id.php。
所以,學會了這些,就可以定製任何想要定製的頁面了。
- 本文固定連結: http://www.xuhss.com/theme-dev/template-hierarchy/custom-page-template
- 轉載請註明: MrBang <time>2018年02月26日 </time>於 虛幻私塾 發表
相關文章
- WordPress模板層次10:主頁模板
- WordPress模板層次15:歸檔模板
- WordPress模板層次01:模板檔案
- WordPress模板層次02:模板層次結構和原理
- WordPress模板層次14:文章形式
- WordPress模板層次16:搜尋模板search.phpPHP
- WordPress模板層次09:sidebar.phpIDEPHP
- WordPress模板層次13:comments.phpPHP
- WordPress模板層次08:footer.phpPHP
- WordPress模板層次17:404.phpPHP
- WordPress模板層次07:header.phpHeaderPHP
- WordPress模板層次06:index.phpIndexPHP
- WordPress模板層次12:single.phpPHP
- WordPress模板層次03:模板檔案中常見程式碼
- WordPress模板層次05:style.css樣式表CSS
- WordPress模板層次04:建立一個示例主題網站網站
- 用Dreamweaver 定義模板批次製作網頁網頁
- 深入學習和理解Django模板層:構建動態頁面Django
- Django 模板層Django
- Django模板層Django
- django的模板層Django
- 二摺頁宣傳冊設計模板平臺,如何編輯模板頁面內容
- 極簡 Spring Boot 整合 Thymeleaf 頁面模板Spring Boot
- WordPress輕擬物NiRvana模板原始碼原始碼
- wordpress企業網站主題仿製04-wordpress企業網站產品頁面新聞頁面仿製網站
- Vagrant定製個性化CentOS7模板CentOS
- 秘製小模板
- WordPress入門07-WordPress新建頁面和管理頁面
- WordPress電影主題Zmovie模板原始碼原始碼
- WordPress開發入門05:模板標籤
- ssycms 詳情模板頁
- Laravel 程式碼生成器 + 可深度定製模板Laravel
- c++11-17 模板核心知識(十二)—— 模板的模板引數 Template Template ParametersC++
- PbootCMS模板自動生成當前頁面二維碼boot
- WordPress柒比貳B2模板原始碼原始碼
- django-模板層基礎2Django
- 易優CMS模板標籤if條件判斷多層次判斷
- 織夢某個頁面對應的模板檔案分析