這篇將和像上一篇建立 header.php,sidebar.php 和 footer.php 這些模板檔案一樣建立更多的子模板檔案。
現在 index.php 檔案已被拆分,這一切都變得更簡單。
第 1 步:archive.php
在做這步之前,檢視你的側邊欄,點選其中的一個存檔連結,結果的頁面是不是和首頁沒有什麼不同?
- 建立一個新檔案:
archive.php - 把
index.php中所有東西複製到archive.php - 儲存
archive.php - 在
archive.php檔案,把the_content改成the_excerpt。 - 再次儲存
archive.php檔案
透過建立一個 archive.php 檔案並把它改成和 index.php 不一樣,這就是定製化存檔頁面的外觀。
現在如果你重新整理你的存檔頁面,它將只顯示摘要而不是全文的日誌。
為什麼你想這麼做呢? — 防止 Google 以為重複內容懲罰你的部落格,如果一個存檔頁面和首頁顯示相同的內容,那就是重複的內容。
如果是私人的部落格呢?那麼就沒有必要去區分首頁和存檔頁面。但這並不是說摘要對私人部落格沒有用。
同樣 — 預設你的類別頁面將使用 archive.php 顯示內容,如果你沒有 archive.php 檔案,類別頁面將使用 index.php 顯示內容。
如果你想類別頁面和首頁和存檔頁面看起來不一樣,那麼創佳一個 category.php 檔案並定製化它。
第 2 步:search.php
- 建立一個新檔案:
search.php - 把
archive.php中所有東西複製到search.php - 儲存就完成了。
現在所有的,所有的搜尋結果將會返回摘要。如果沒有 search.php 這個模板檔案,搜尋選項將會使用 index.php 去顯示搜尋結果。
(可選) 你可以返回到課程 1 去回顧者層次結構。
第 3 步:page.php 和 single.php
- 建立兩個新檔案:
page.php和single.php - 把
index.php中所有內容複製到page.php和single.php。 (從現在開始,頁面和單篇日誌應該是一樣的。) - 儲存頁面和單篇日誌檔案,關閉它們。
第 4 步:定製 page.php
還記得靜態頁面和頁面之間的不同嗎?page.php 模板檔案是用來定製化這些特殊靜態靜態頁面。
第一,在 page.php 中的 <?php the_content(); ?> 下輸入以下程式碼:
<?php link_pages(』<p><code>Pages:</strong> 『, 『</p>』, 『number』); ?>
和
<?php edit_post_link(』Edit』, 『<p>』, 『</p>』); ?>
第二,從 page.php 中移除 postmetadata 程式碼。結果如下:

第三,在 page.php 中移除 posts_nav_link() 或者導航模組。

剛才發生了什麼?
第一行程式碼是用於顯示頁面的分頁連結。

舉個例子,編輯 About 頁面。根據我的螢幕截圖增加程式碼:

當你想把一個非常長的頁面分成幾個頁面的時候,這是非常有用的。
第二行程式碼是用於顯示可以用來編輯靜態頁面的編輯連結。
通常頁面是沒有分類,並且通常不想給他們顯示建立時間,所以需要去移除 postmetadata 。同樣要移除 posts_nav_link() 程式碼因為靜態頁面不會顯示後一頁和前一頁的連結。
儲存 page.php 檔案並關閉它。
第 5 步:定製 single.php
點選一個日誌的標題去閱讀日誌其餘部分就會帶你到單篇日誌檢視模式。 single.php 模板就是用於處理檢視單篇日誌時的外觀。
在 single.php 中的 <?php the_content() ?> 下輸入:
<?php link_pages(』<p><strong>Pages:</strong> 『, 『</p>』, 『number』); ?>
是的,這是相同的用於編碼頁面的分頁連結的程式碼。同樣我們也可以把日誌分成多篇子日誌。
第二,在 postmetadata 區域,移除 <?php comments_popup_link(); ?> 函式和前面的 <br /> 標籤。不要移除整個 postmetadata 。
移除了留言連結函式是因為在單篇日誌檢視模式下留言連結函式是不起作用,所以要在 singel.php 檔案中移除它。只有管理員可見的編輯連結,在 BR 標籤的左邊。你不想跳過一行才能看到這個本來你可以在右邊看到連結?這就是移除 BR 標籤的原因。
第三,用以下程式碼取代 <?php posts_nav_link(); ?>:
<?php previous_post_link(』? %link』) ?> <?php next_post_link(』 %link ?』) ?>
在前面,存檔,分類和搜尋頁面,我們使用 posts_nav_link() 函式去呼叫後一頁和前一頁的連結。對於檢視單一日誌的頁面,它是沒有後一頁和前一頁連結的,我們可以使用 previous_post_link() 和 next_post_link() 函式去呼叫前一篇日誌和後一篇日誌的連結。
儲存 single.php 檔案,到某篇日誌下檢視在導航區域的不同。
課程回顧
- 建立了四個新的檔案或者或者子模板:archive.php,search.php,page.php 和 single.php 。
archive.php和search.php模板檔案是相同的。- Pages (和日誌不同) 是沒有分類的,他們同樣沒有後一頁和前一頁的連結。
Single.php不會顯示留言連結 (被comments_popup_link()函式呼叫) 並且他不用posts_nav_link()去呼叫導航連結。