WordPress模板層次15:歸檔模板
歸檔模板是構建WordPress主題時的超級有用的模板。
我們不僅僅可以通過對日期進行歸檔,還可以按照類別歸檔。
開啟模板層次結構圖:
可以看到,對於所有歸檔頁面,archive.php 用作其他所有特定歸檔模板的備胎。
對於特定的歸檔型別,有對應的特定的模板,可以看到有基於
- 作者( Author Archive )
- 類別( Category Archive )
- 自定義文章型別( Custom Post Type Archive )
- 自定義分類( Custom Taxonomy Archive )
- 日期( Date Archive )
- 標籤( Tag Archive )
等歸檔型別。
它們都對應一個核心的模板檔案:
- author.php
- category.php
- archive-$posttype.php
- taxnomy.php
- date.php
- tag.php
對於其中一些模板,還有更具體的模板,比如,基於slug或ID。
日期歸檔模板date.php
來到網站前臺,開啟Blog頁面,在右側,可以看到有一個按日期歸檔的小工具。點選它,實際呼叫的就是date.php模板。
我們可以看到它是基於日期的URL:http://localhost/localwp.com/2017/08/(根據你的文章建立時間,目錄會有所不同,我是17年8月份建立的)。
而且,如果刪除網址中的月份,只剩年份,也就是:http://localhost/localwp.com/2017/
這時,就會把一年內的所有的文章都按照月份列出來:
所以,在模板結構圖中,可以看到 date.php 將控制年,月和日的歸檔:
接下來,開啟主題中的date.php檔案:
<?php get_header(); ?>
<div class="container" role="main">
<div class="row">
<div class="col-md-8">
<div class="page-header">
<h1><?php wp_title( '' ); ?></h1>/***輸出標題***/
</div>
<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>/***迴圈***/
<?php if( is_year() ): ?>/***如果是按照年份歸檔***/
<h3><?php the_date( 'F' ); ?></h3>/***輸出月份資訊***/
<?php endif; ?>
<li><?php the_time( 'jS' ); ?> - <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
類別歸檔模板category.php
通用的類別歸檔模板叫做 category.php 。
和定製頁面模板page.php的原理一樣:
它也可以根據給定類別的 **ID **或 **名稱(slug) **來定製更具體的模板:
1.通過id來定製類別歸檔模板
主題中的 catalog-8.php 是根據類別的ID定製的模板:
要想檢視模板對應的網站前臺顯示效果,可以訪問:Travel分類目錄:
2.通過名稱(slug)定製類別歸檔模板
同樣的,還可以通過類別的名稱來定製模板。實際上,我已經在程式碼中,寫好了一個叫做Catalog-Special的模板。
可以訪問:Special分類目錄,你會看到一匹彩虹馬:
所以,catalog-special.php 也是一個完全自定義的模板。
在catalog-special.php模板程式碼中,可以看到。它只是放置一些自定義HTML,然後是一張有趣的圖片:
<style type="text/css">
div {
width: 400px;
margin: 100px auto;
}
img {
width: 100%;
}
h1 {
text-align: center;
}
</style>
<div>
<h1>You're Special!!!!</h1>
<img src="<?php bloginfo('template_directory'); ?>/images/rainbow-unicorn.jpg">
</div>
這可能不是你想要實現的效果,但是通過我在這裡自定義的天馬行空的類別模板,就可以想象,你也可以自定義你要的哪個特定效果的模板。
作者歸檔模板author.php
同樣地,可以通過作者的id以及作者的名稱來實現作者模板的定製:
例如,在網站前臺,找到一篇文章,點選作者。它就會帶我到作者詳細介紹的頁面,這裡有作者頭像,名字和最近釋出的文章。它使用的就是 author.php 模板。
關於作者歸檔模板定製的原理和定製頁面模板page.php類似。
在當前的主題中,我通過新增 author-editor.php 模板檔案,來實現作者歸檔模板(author-$nacename.php)的定製。
你可以新增一個叫做editor的使用者(WordPress後臺 >> 使用者 >> 所有使用者,並新增另一個使用者)
然後,新建一篇文章,將作者設為editor。就可以看到定製的作者歸檔模板 author-editor.php 的效果了:
所以這可以給大家在不同的作者頁面上:提供很大的靈活性。而且,如果您想為每個作者定製模板,那麼就可以使用此方法輕鬆實現。
所以,到目前為止,我們已經定製了很多歸檔模板。你會發現他們的工作原理非常類似,關於標籤歸檔模板 tag.php 也是一樣,所以我們不會更深入地講解。
- 本文固定連結: http://www.xuhss.com/theme-dev/template-hierarchy/archive-php
- 轉載請註明: MrBang <time>2018年03月02日 </time>於 虛幻私塾 發表
相關文章
- WordPress模板層次01:模板檔案
- WordPress模板層次10:主頁模板
- WordPress模板層次03:模板檔案中常見程式碼
- WordPress模板層次02:模板層次結構和原理
- WordPress模板層次11:定製頁面模板
- 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模板層次05:style.css樣式表CSS
- WordPress模板層次04:建立一個示例主題網站網站
- Django 模板層Django
- Django模板層Django
- django的模板層Django
- WordPress輕擬物NiRvana模板原始碼原始碼
- WordPress電影主題Zmovie模板原始碼原始碼
- WordPress開發入門05:模板標籤
- Z-BlogPHP 模板檔案與模板標籤PHP
- SpringMVC基本環境搭建(配置檔案模板模板)SpringMVC
- WordPress柒比貳B2模板原始碼原始碼
- django-模板層基礎2Django
- 易優CMS模板標籤if條件判斷多層次判斷
- 逆序對的數量(歸併排序模板)排序
- Django 模板引擎以及模板Django
- PbootCMS模板檔案巢狀引用boot巢狀
- VSCode中新增vue檔案模板VSCodeVue
- 01 讀取模板HTML檔案HTML
- java模板匯出PDF檔案Java
- Node模板引擎學習(2)--Jade語法歸納
- 國外排名前 15 的 Vue 後臺管理模板Vue
- 模板
- WordPress主題 Hankin v2.0.1部落格主題模板
- WordPress模板_Zibll子比主題V5.6 實測可用版