WP Theme 教程 #15:子模板文件

【轉載自我愛水煮魚

繼續我們我們教程,你將和像昨天的 header.phpsidebar.phpfooter.php 一樣創建更多的子模板文件。

現在 index.php 文件已被拆分,這一切都變得更簡單。

第1步

在你做這步之前,查看你的側邊欄,點擊其中的一個存檔鏈接,結果的頁面是不是和你的首頁沒有什么不同?

  • 創建一個新文件: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
  • archive.php 中所有東西復制到 search.php
  • 保存就完成了。

現在所有的,所有的搜索結果將會返回摘要。如果沒有 search.php 這個模板文件,搜索選項將會轉向 index.php 去如何顯示搜索結果。

(可選)你可以返回到課程1去回顧者層次結搆

第3步

  • 創建兩個新文件:page.phpsingle.php
  • index.php 中所有內容拷貝到 page.phpsingle.php。(從現在開始,頁面和單篇日志應該是一樣的。)
  • 保存頁面和單篇日志文件,關閉它們。

第4步

還記得靜態頁面頁面之間的不同嗎?page.php 模板文件是用來定制化這些特殊特殊靜態頁面。

第一,在 page.php 中,在 <?php the_content(); ?> 輸入以下代碼:

<?php link_pages(’<p><strong>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 中,在 <?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.phpsingle.php
  • archive.phpsearch.php 模板文件是相同的。
  • Pages (和日志不同)是沒有分類的,他們同樣沒有后一頁前一頁的鏈接。
  • Single.php 不會顯示留言鏈接(被 comments_popup_link() 函數調用)并且他不用 posts_nav_link() 去調用導航鏈接。

請查看教程目錄:WordPress 主題教程系列

下一篇:WP Theme 教程 #16:留言模板

翻譯自:WP Theme Lesson #15: Sub-Template Files

創建 WordPress 主題系列教程均為本站翻譯,如要轉載,請注明:轉載自我愛水煮魚和本文地址。


想在手機閱讀更多Wordpress資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems