這篇將和像上一篇創建 header.phpsidebar.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() 去調用導航鏈接。