子模板檔案是從零開端創立 WordPress 主題系列教程的第十五篇,這篇將和像上一篇創立 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.phpsingle.php

  • 建立兩個新檔案:page.phpsingle.php
  • index.php 中所有內容複製到 page.phpsingle.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.gif

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

remove-navigation.gif

剛才發生了什麼

第一行程式碼是用於顯示頁面的分頁連結。

nextpage.gif

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

add-nextpage.gif

當你想把一個非常長的頁面分成幾個頁面的時候,這是非常有用的。

第二行程式碼是用於顯示可以用來編輯靜態頁面的編輯連結。

通常頁面是沒有分類,並且通常不想給他們顯示建立時間,所以需要去移除 postmetadata 。同樣要移除 posts_nav_link() 程式碼因為靜態頁面不會顯示後一頁前一頁的連結。

儲存 page.php 檔案並關閉它。

第 5 步:定製 <span style="BACKGROUND-COLOR: #edf3de">single.php

點選一個日誌的標題去閱讀日誌其他區域性就會帶你到單篇日誌檢視形式。<span style="BACKGROUND-COLOR: #edf3de">single.php 模板就是用於處置檢視單篇日誌時的外觀。

<span style="BACKGROUND-COLOR: #edf3de">single.php 中的 <span style="BACKGROUND-COLOR: #edf3de"><?php the_content() ?> 下輸入:

<span style="BACKGROUND-COLOR: #edf3de"><?php link_pages(』

Pages: 『, 『

』, 『number』); ?>

是的,這是相同的用於編碼頁面的分頁連結的程式碼。同樣我們也能夠把日誌分紅多篇子日誌。

第二,在 postmetadata 區域,移除 <span style="BACKGROUND-COLOR: #edf3de"><?php comments_popup_link(); ?> 函式和前面的
標籤。不要移除整個 <span style="BACKGROUND-COLOR: #edf3de">postmetadata

移除了留言連結函式是由於在單篇日誌檢視形式下留言連結函式是不起作用,所以要在 <span style="BACKGROUND-COLOR: #edf3de">singel.php 檔案中移除它。只要管理員可見的編輯連結,在 BR 標籤的左邊。你不想跳過一行才幹看到這個原本你能夠在右邊看到連結?這就是移除 BR 標籤的緣由。

第三,用以下程式碼取代 <span style="BACKGROUND-COLOR: #edf3de"><?php posts_nav_link(); ?>

<span style="BACKGROUND-COLOR: #edf3de"><?php previous_post_link(』? %link』) ?> <?php next_post_link(』 %link ?』) ?>

在前面,存檔,分類和搜尋頁面,我們運用 <span style="BACKGROUND-COLOR: #edf3de">posts_nav_link() 函式去呼叫後一頁前一頁的連結。關於檢視單一日誌的頁面,它是沒有後一頁和前一頁連結的,我們能夠運用 previous_post_link()<span style="BACKGROUND-COLOR: #edf3de">next_post_link() 函式去呼叫前一篇日誌和後一篇日誌的連結。

保管 <span style="BACKGROUND-COLOR: #edf3de">single.php 檔案,到某篇日誌下檢視在導航區域的不同。

課程回憶

  • 創立了四個新的檔案或者或者子模板:archive.php,search.php,page.php 和 single.php 。
  • <span style="BACKGROUND-COLOR: #edf3de">archive.php<span style="BACKGROUND-COLOR: #edf3de">search.php 模板檔案是相同的。
  • Pages(和日誌不同) 是沒有分類的,他們同樣沒有後一頁前一頁的連結。
  • <span style="BACKGROUND-COLOR: #edf3de">Single.php 不會顯現留言連結 (被 <span style="BACKGROUND-COLOR: #edf3de">comments_popup_link() 函式呼叫) 並且他不用 <span style="BACKGROUND-COLOR: #edf3de">posts_nav_link() 去呼叫導航連結。